bash虽然?循环选择菜单

时间:2010-11-14 22:45:32

标签: bash

#!/bin/bash
echo "Please enter your Host Name"
read hname
echo "You have entered $hname, is this correct?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) sh runscript.sh; break;;
         No ) ;
    esac
done

如何使这项工作成功,如果答案不正确,请再次询问? 我知道我需要一个while循环来实现这个目标,但不知道如何编写它。

2 个答案:

答案 0 :(得分:2)

应该这样做:


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

答案 1 :(得分:0)

这是你帮我写的另一篇:

#!/bin/bash

        while ["$yn" != "Yes" ]; do

    echo "Choose your type of installation"

    echo "1) Home Media Server"

    echo "2) Home Communication Server"

    echo "3) Enterprise Communication Server"

    echo "4) Hosting Server"

    echo "5) Individual Packages"

    echo "6) exit"

    read case;



    #simple case bash structure

    # note in this case $case is variable and does not have to

    # be named case this is just an example



    case $case in

        1) echo "You have entered Home Media Server, is this correct? (Yes or No)"

      read yn

                echo "Running script for Home Media Server";;



        2) echo "You have entered Home Communication Server, is this correct? (Yes or No)"

      read yn

                echo "Running script for Home Communication Server";;



        3) echo "You have entered Enterprise Communication Server, is this correct? (Yes or No)"

      read yn

                echo "Running script for Enterprise Communication Server";;



        4) echo "You have entered Hosting Server, is this correct? (Yes or No)"

      read yn

                echo "Running script for Hosting Server";;



        5) echo "You have entered $hname, is this correct? (Yes or No)"

      read yn

                echo "Running script for Individual Packages";;



        6) exit

    esac 

再次感谢。