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