我的 case 陳述句沒有回傳值時遇到問題。我是使用案例的新手,而不是計算機程式員。任何建議都有幫助
############################# Chose GrADS or OpenGrADS #########################
while true; do
read -p "Would you like to install OpenGrADS or GrADS? (OpenGrADS/GrADS)" yn
case $yn in
[OpenGrADS]* )
export GRADS_PICK=1 #variable set for grads or opengrads choice
break
;;
[GrADS]* )
export GRADS_PICK=2 #variable set for grads or opengrads choice
break
;;
* )
echo " "
echo "Please answer OpenGrADS or GrADS (case sensative).";;
esac
done
uj5u.com熱心網友回復:
您的代碼幾乎是正確的,您的錯誤是您檢查輸入的方式。小心 * 因為它是大多數編程語言中的特殊字符,尤其是 bash/unix。
while read -p "Would you like to install OpenGrADS or GrADS? (OpenGrADS/GrADS)" yn; do
case $yn in
OpenGrADS)
echo "first choice"
export GRADS_PICK=1 #variable set for grads or opengrads choice
break
;;
GrADS)
echo "second choice"
export GRADS_PICK=2 #variable set for grads or opengrads choice
break
;;
* )
echo " "
echo "Please answer OpenGrADS or GrADS (case sensative).";;
esac
done
編輯:引號不是必需的。(感謝 chepner 和 Gordon Davisson)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532825.html
標籤:重击句法案子球体
