Bash Linux上的错误选择菜单

Bash Linux上的错误选择菜单,linux,bash,select,case,Linux,Bash,Select,Case,我试着做一个简单的选择来选择一些东西。 但我有错误,有人能帮我吗 $vi sel2.sh lagi='y' while [ $lagi == 'y' ] || [ $lagi == 'Y' ]; do clear select menu in "Bakso" "Gado-Gado" "Exit"; case $REPLY in 1) echo -n "Banyak mangkuk ="; read jum let

我试着做一个简单的选择来选择一些东西。 但我有错误,有人能帮我吗

$vi sel2.sh

lagi='y'

while  [ $lagi == 'y' ] || [ $lagi == 'Y' ];

do

clear

select menu in "Bakso" "Gado-Gado" "Exit";

   case $REPLY in 

        1) echo -n "Banyak mangkuk =";
           read jum
           let bayar=jum*1500;
           ;;
        2) echo -n "Banyak porsi =";
           read jum
           let bayar=jum*2000;
           ;;
        3) exit 0
           ;;
        *) echo "Sorry, tidak tersedia"
           ;;
  esac 
do

echo "Harga bayar = Rp. $bayar"
echo "THX"
echo 
echo -n "Hitung lagi (y/t) :";
read lagi;

    #untuk validasi input

    while  [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ];
    do
       echo "Ops, isi lagi dengan (y/Y/t/Y)";
       echo -n "Hitung lagi (y/t) :";
       read lagi;
    done
done
试着改变

select menu in "Bakso" "Gado-Gado" "Exit";


代码中存在许多结构性问题

也许这就是你想要的:

#!/bin/bash
lagi='y'

while  [ $lagi == 'y' ] || [ $lagi == 'Y' ]

do

    clear

    select menu in "Bakso" "Gado-Gado" "Exit"
    do
        case $REPLY in

            1) echo -n "Banyak mangkuk =";
               read jum
               let bayar=jum*1500;
               ;;
            2) echo -n "Banyak porsi =";
               read jum
               let bayar=jum*2000;
               ;;
            3) exit 0
               ;;
            *) echo "Sorry, tidak tersedia"
               ;;
        esac

        echo "Harga bayar = Rp. $bayar"
        echo "THX"
        echo
        echo -n "Hitung lagi (y/t) :";
        read lagi;

        #untuk validasi input

        while  [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ];
        do
            echo "Ops, isi lagi dengan (y/Y/t/Y)";
            echo -n "Hitung lagi (y/t) :";
            read lagi;
        done
    done
done

第7行错误请在此处张贴您的脚本,而不是it@mrid谢谢,很抱歉。请查看并帮助选择。您会遇到什么错误?
#!/bin/bash
lagi='y'

while  [ $lagi == 'y' ] || [ $lagi == 'Y' ]

do

    clear

    select menu in "Bakso" "Gado-Gado" "Exit"
    do
        case $REPLY in

            1) echo -n "Banyak mangkuk =";
               read jum
               let bayar=jum*1500;
               ;;
            2) echo -n "Banyak porsi =";
               read jum
               let bayar=jum*2000;
               ;;
            3) exit 0
               ;;
            *) echo "Sorry, tidak tersedia"
               ;;
        esac

        echo "Harga bayar = Rp. $bayar"
        echo "THX"
        echo
        echo -n "Hitung lagi (y/t) :";
        read lagi;

        #untuk validasi input

        while  [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ];
        do
            echo "Ops, isi lagi dengan (y/Y/t/Y)";
            echo -n "Hitung lagi (y/t) :";
            read lagi;
        done
    done
done