我有以下脚本尝试使用if..elif..else语句创建菜单。但是,我的脚本从未在外部while循环中运行else语句,而在内部while循环中运行了吗?它应该回显“重试!”按下菜单中未提及的任何键的语句,但该语句退出循环。它只应打破循环并按“ X”键退出。
#!/bin/bash
while [[ 1 ]]; do
echo 1: menu1
echo 2: menu2
echo 3: menu3
echo X: exit
echo -n enter: ; read menu
if [[ ${menu} -eq 1 ]]; then
echo menu1
echo do something in menu1
elif [[ ${menu} -eq 2 ]]; then
echo menu2
echo do something in menu2
elif [[ ${menu} -eq 3 ]]; then
while [[ 1 ]]; do
echo 11: second menu1
echo 12: second menu2
echo 13: exit
echo -n enter number: ; read second_menu
if [[ ${second_menu} -eq 11 ]]; then
echo do something in second menu1
elif [[ ${second_menu} -eq 12 ]]; then
echo do something in second menu2
elif [[ ${second_menu} -eq 13 ]]; then
break
else
echo try again second_menu!
fi
done
elif [[ ${menu} -eq 'x' ]] || [[ ${menu} -eq 'X' ]]; then
break
else
echo try again menu!
fi
done
echo
时要充分使用您的琴弦是一个好习惯。