在bash中的无限循环期间禁用用户输入
我有这个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重新启用键盘输入。
以上是 在bash中的无限循环期间禁用用户输入 的全部内容, 来源链接: utcz.com/qa/401787.html






