1
我不得不做出一個名爲test.sh看起來像下面外殼:getopts的兩個參數選項將停止腳本
while getopts a:b: opt
do
case $opt in
a) a1=$OPTARG
;;
b) b1=$OPTARG
eval "b2=\${$OPTIND}"
shift 2;;
esac
done
echo $a1;
echo $b1;
echo $b2;
當我嘗試下面的命令,它的工作腳本...
test.sh -a 111 -b 222 333
111
222
333
但如果我嘗試這個...
test.sh -b 222 333 -a 111
222
333
它只能顯示-b參數,-a選項和agrument後無法-b選項工作... ...
在我的腳本有任何問題???? 謝謝:)
'申報 「B2 = $ OPTIND」'和'OPTIND = $((OPTIND + 1))'將是可取的(前者通常比較安全,並且不比在這裏使用'eval'更糟;後者對於整數算術更有效)。 – chepner
謝謝,如果我想再添加一個參數$ b3,我該怎麼辦? – YOHO