我正在努力學習案例,因爲我正在編寫一個功能齊全的腳本。Bash案例陳述
我開始了與下面
#!/bin/sh
case [email protected] in
-h|--help)
echo "You have selected Help"
;;
-B|-b)
echo "You have selected B"
;;
-C|-c)
echo "You have selected C"
;;
*)
echo "Valid Choices are A,B,C"
exit 1
;;
esac
我想用兩個選項:
./getopts.sh -h -c
,但我得到這個結果 有效的選擇是A,B,C
請你幫忙,讓我知道我做錯了什麼?
我想要建立一個腳本,如果你輸入一個選項,它會做某些事情,但如果你輸入多個選項,你可以做很多事情。
另外,我將如何解析$ 1到這個腳本作爲surley哪個選項我第一次輸入(-h)將是$ 1?
謝謝!
你爲什麼不使用'getopts',而不是'case'? – fedorqui
我對任何想法都很開放,因爲我還沒有真正使用過。我需要學習這個,而不是擁有1000個嵌套的if語句 – bsmoo
@fedorqui即使使用getopts,仍然需要一個循環(通常是一個'while循環)和某種案例分析,'case'比if更好...... elif ......就是爲了這個目的。 – Uwe