linux - SHELL脚本,执行有问题
巴扎黑
巴扎黑 2017-04-17 11:18:37
[Linux讨论组]
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的时候,能够正常退出;可是当输入其他字符,却不能正常匹配第二个星号选项

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

巴扎黑
巴扎黑

全部回复(2)
高洛峰

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

黄舟

你把clear注释掉就知道为什么了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号