我正在编写一个 bash 脚本。它是菜单驱动的。
出于某种原因,我使用了 case 语句,并且在打印了所有选项之后,我使用 * 来捕获用户可能键入的任何其他内容。但由于某种原因,我的输出没有完成。
例子:
while [ 1 ]; do
if [ $MAIN_MENU -eq 1 ]; then
printMainMenu
read option
case "$option" in
"1" ) printDiskSpace;;
"2" ) printFreeMemory;;
"0" ) exit;;
"*" ) echo "Input not understood.";;
esac
fi
done
现在发生的情况是,当我使用菜单时,如果我输入 1、2 或 0,它会执行正确的操作。但如果我输入 55,它只会重新显示菜单,而不会回显“输入不理解”。
我在这里错过了什么吗?
谢谢!