2010-11-16 18 views
0

我如何有更多選擇來回答這個問題?更多Bash Choice菜單選項

while [ "$yn" != "Yes" ]; do 
echo "Please enter your Host Name" 
read hname 
echo "You have entered $hname, is this correct? (Yes or No)" 
    read yn 
done 
sh runscript.sh 

想用「是」,「是」,「是」或「是」回答,這怎麼辦? 在此先感謝, Joe

回答

0

修正了它!認爲這最好的作品:

while [[ "$yn" != "Yes" && "$yn" != "Y" && "$yn" != "y" && "$yn" != "yes" ]]; do 

Yay!

1

與其他語言一樣,Bash具有邏輯運算符。您可以創建這樣的事與巴什(這是僞代碼):

If answer equals "Yes", or answer equals "yes": 
    bla bla 

我建議你看看一個猛砸教程中,你會發現多了! 乾杯。

6
while [ -z "$yn" ] 
do 
    read -p "Please enter your Host Name" hname 
    read -p "You have entered $hname, is this correct? (Yes or No)" yn 
    case $yn in 
     Y|y|Yes|yes);; # this is a no-op 
     *) unset yn;; 
    esac 
done