3
我意識到shift會將cli args n空間的數組移到左側,而n的默認值是1.這意味着我可以在while循環內使用$ 1 shift將數組的值賦給現有的變量。我不太明白的是爲什麼它在下面的這個上下文中被使用。輸入參數已經被賦值爲數值,並且刪除shift $((OPTIND-1))不會改變這個事實。來源:http://linux.die.net/man/3/optind
while getopts ":h:a:fc" opt; do
case $opt in
h)
print_help
exit 0
;;
a)
aaaa=${OPTARG}
;;
f)
force=1
;;
c)
CLEAN=1
;;
\?)
echoerr "Invalid option -$OPTARG"
print_help
exit 1
;;
esac
done
shift $((OPTIND-1))
如果還有位置參數會怎麼樣? – 2014-10-10 07:41:21