开发者社区> 问答> 正文

SHELL脚本,执行有问题

set_menu_choice() {
clear
echo "Options :-"
echo
echo "   a) Add new CD"
echo "   f) Find CD"
echo "   c) Count the CDs and tracks in the catalog"
echo
echo -e "Please enter choice the press return \c"
read menu_choice
return
}

echo "Mini CD manager"
sleep 1

quit=n

while [ "$quit" != "y" ]
do
    set_menu_choice
    case "$menu_choice" in
        q | Q) quit=y;;
        *) echo "Sorry, choice not regconized";;
    esac
done
echo "Finished"
exit 0

当输入q的时候,能够正常退出;可是当输入其他字符,却不能正常匹配第二个星号选项

请看看是什么原因导致呢?~初学者,请指教

展开
收起
a123456678 2016-06-16 17:04:43 2112 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista

    While 死循环会永远执行(输入q 或Q 时会结束脚本),由于每次不是正常退出是都会调用setmenuchoice 执行 clear ,所以你上一条的 *)匹配被清屏了,你终端再往上拉进度条就能看到。

    2019-07-17 19:41:23
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载