Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 程序第二次未进入第二个循环_Bash_Shell_Sh - Fatal编程技术网

Bash 程序第二次未进入第二个循环

Bash 程序第二次未进入第二个循环,bash,shell,sh,Bash,Shell,Sh,我正在创建自己的bash脚本,但是当我退出第二个菜单时,代码不允许我再次进入第二个菜单。 我必须解释这个错误的唯一方法是,当我把6放回第一个,而read修复了6时,是什么导致了问题的混淆? 但这是没有意义的,因为如果它修复了6将执行echo“,正如戈登·戴维森所注意到的,问题确实是,$open仍然是上次的“6”。 解决方案只是以合理的顺序读取和比较输入选项,而不是在读入变量之前测试[“$open”!=“6”]: while echo "Script Menu" echo "

我正在创建自己的bash脚本,但是当我退出第二个菜单时,代码不允许我再次进入第二个菜单。 我必须解释这个错误的唯一方法是,当我把6放回第一个,而read修复了6时,是什么导致了问题的混淆?
但这是没有意义的,因为如果它修复了6将执行echo“,正如戈登·戴维森所注意到的,问题确实是,
$open
仍然是上次的“6”。
解决方案只是以合理的顺序读取和比较输入选项,而不是在读入变量之前测试
[“$open”!=“6”]

while   echo "Script Menu"
        echo " 1 - Open"
        echo " 2 - Download"            
        echo " 3 - Update && Upgrade"   
        echo " 6 - Exit"
        echo "Choose  Your Script: "
        read myscript
        [ "$myscript" != "6" ]
do
    case $myscript in
    1)  while   clear
                echo "Open Menu"
                echo " 1 - Rythombox"
                echo " 2 - Anaconda"
                echo " 3 - VSCode"
                echo " 4 - Terminal"
                echo " 6 - <-----Back"
                echo "Choose Your Open: "
                read open 
                [ "$open" != "6" ]
        do
            case $open in
            1)  echo "  Opening Rhythmbox"
                gnome-terminal --tab -- "rhythmbox"
                ;;
            6)  echo "<--- Back"
                ;;
            *)  echo "Not a option!"
                ;;
            esac
        done
    esac
done
while echo“脚本菜单”
回声“1-打开”
echo“2-下载”
echo“3-更新和升级”
回声“6-退出”
echo“选择您的脚本:”
阅读myscript
[“$myscript”!=“6”]
做
案例$myscript在
1) 虽然清楚
回声“打开菜单”
echo“1-Rythombox”
回声“2-水蟒”
回声“3-VSCode”
回声“4-终端”

echo“6-添加一个shebang,然后将脚本粘贴到那里:很难从不完整的代码片段中分辨出来,但问题是,
$open
与上次相比仍然是“6”吗?如果没有,请向下编辑您的脚本以创建问题的详细信息,这样人们就可以自己查看/尝试,而不必费力地浏览脚本中不相关的部分。
while   echo "Script Menu"
        echo " 1 - Open"
        echo " 2 - Download"            
        echo " 3 - Update && Upgrade"   
        echo " 6 - Exit"
        echo "Choose  Your Script: "
        read myscript
        [ "$myscript" != "6" ]
do
    case $myscript in
    1)  while   clear
                echo "Open Menu"
                echo " 1 - Rythombox"
                echo " 2 - Anaconda"
                echo " 3 - VSCode"
                echo " 4 - Terminal"
                echo " 6 - <-----Back"
                echo "Choose Your Open: "
                read open 
                [ "$open" != "6" ]
        do
            case $open in
            1)  echo "  Opening Rhythmbox"
                gnome-terminal --tab -- "rhythmbox"
                ;;
            6)  echo "<--- Back"
                ;;
            *)  echo "Not a option!"
                ;;
            esac
        done
    esac
done