2
我試圖將參數傳遞給我編寫的腳本,但無法正確理解。Bash腳本參數
我要的是一個沒有標誌一個強制的說法,並與國旗兩個可選參數,因此它可以被稱爲是這樣的:
./myscript mandatory_arg -b opt_arg -a opt_arg
或
./myscript mandatory_arg -a opt_arg
./myscript mandatory_arg -b opt_arg
我看着getopts的和得到這個:
while getopts b:a: option
do
case "${option}"
in
b) MERGE_BRANCH=${OPTARG};;
a) ACTION=${OPTARG};;
esac
done
if "$1" = ""; then
exit
fi
echo "$1"
echo "$MERGE_BRANCH"
echo "$ACTION"
但它根本不起作用。
當試圖運行這個它打印出的強制性參數,然後「 「對於可選項,如果我沒有強制性地運行,它會回答」缺少強制性參數「 –
不推薦先強制性參數的原因是什麼?並且我認爲上次編輯時丟失了一些東西 –
@ A.Jac這只是*約定*和*個人品味的問題* –