所以我有一个关于在bash中获得选择的问题。我想获取参数的值(如果存在),但是如果不存在,则使用默认值。因此,脚本应该使用目录和整数,但是如果未指定它们,则$ PWD和3应该是默认值。这是什么
while getopts "hd:l:" opt; do
case $opt in
d ) directory=$OPTARG;;
l ) depth=$OPTARG;;
h ) usage
exit 0;;
\? ) usage
exit 1;;
esac
最佳答案
您可以在while
循环之前提供默认值:
directory=mydir
depth=123
while getopts "hd:l:" opt; do
case $opt in
d ) directory=$OPTARG;;
l ) depth=$OPTARG;;
h ) usage
exit 0;;
*) usage
exit 1;;
esac
done
echo "<$directory> <$depth>"