在bash中的无限循环期间禁用用户输入
发布时间:2020-12-15 22:45:53 所属栏目:安全 来源:网络整理
导读:我有这个bash脚本,它基本上启动了带有进度指示器的web和selenium服务器.由于启动selenium服务器需要一些时间,因此我在无限循环中检查状态. 问题是,在等待它开始的时候我按下键意外地显示在屏幕上,如果循环结束(超时),它也会在命令提示符中显示. 我想在循环内
我有这个bash脚本,它基本上启动了带有进度指示器的web和selenium服务器.由于启动selenium服务器需要一些时间,因此我在无限循环中检查状态.
问题是,在等待它开始的时候我按下键意外地显示在屏幕上,如果循环结束(超时),它也会在命令提示符中显示. 我想在循环内部禁用所有用户输入(当然除了控制键): start_selenium() { echo -n "Starting selenium server" java -jar ${selenium_jar} &> $selenium_log & # wait for selenium server to spin up! (add -v for verbose output) i=0 while ! nc -z localhost 4444; do sleep 1 echo -n "." ((i++)) if [ $i -gt 20 ]; then echo echo -e $bg_red$bold"Selenium server connection timed out"$reset exit 1 fi done } 解决方法
使用stty关闭键盘输入.
stty -echo #### Ur Code here #### stty echo -echo关闭键盘输入和stty echo reenables键盘输入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |