更多Bash选项菜单选项

更多Bash选项菜单选项,bash,Bash,我怎样才能有更多的选择来回答这个问题 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 如果要回答“是”“是”“Y”或“Y”,如何才能做到这一点? 提前感谢,, Joe与其他语言一样,Bash也有逻辑运算符。

我怎样才能有更多的选择来回答这个问题

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
如果要回答“是”“是”“Y”或“Y”,如何才能做到这一点? 提前感谢,,
Joe

与其他语言一样,Bash也有逻辑运算符。您可以使用Bash创建如下内容(这是伪代码):

我建议你查阅Bash教程,你会发现更多!
干杯。

修好了!我认为这样做效果最好:

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

while [[ "$yn" != "Yes" && "$yn" != "Y" && "$yn" != "y" && "$yn" != "yes" ]]; do
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