我在 Ubuntu 机器上使用 GNU bash,版本 4.3.46。由于某种原因,这个 while 循环不能按预期工作。
菜单应该连续循环直到用户决定退出程序,然后有一些错误检查提示用户如果他们确定,然后程序结束。
这是代码:
#!/bin/bash
menu_choice=0
quit_program="n"
while [[ $menu_choice -ne 3 && $quit_program != "y" ]]
do
printf "1. Backup\n"
printf "2. Display\n"
printf "3. Exit\n\n"
printf "Enter choice: \n"
read menu_choice
if [ $menu_choice -eq 3 ]
then
printf "Are you sure you want to quit? (y/n)\n"
read quit_program
fi
done
Run Code Online (Sandbox Code Playgroud)
我认为这可能与在开始时声明全局变量有关,并且我正在本地读取一个新值...