按住某个键后消除读取延迟

  • 本文关键字:读取 延迟 bash shell
  • 更新时间 :
  • 英文 :


我不会提供确切的代码,只提供重要的内容。

while :; do
read -sn 1 foo
done

如果按下按钮,光标将停止闪烁(这可能意味着它正在处理所有字符(。而且,它有一堆键,它必须经历所有这些才能继续闪烁,这意味着它正在等待输入(我认为(

如何防止这种情况发生?

我不知道我是否解释得足够好,我希望你能理解我的问题。

您忘记为退出条件定义一个测试,即成功捕获字符,所以。。。如果您按住该键,您将收集多个字符,直到键盘缓冲区强制输出(长流(,但它仍在循环,直到您终止脚本/命令。

#!/bin/bash
while :; do
read -sn 1 foo
if [ $? -eq 0 ] ; then break ; fi
done
echo "Out - character = ${foo}"

相关内容

  • 没有找到相关文章

最新更新