bash:如何使超时读取工作



为什么以下脚本在 bash 中不起作用:

while [[ true ]]; do
read -t2 -n1 check
if [[ $check == "q" ]];then
echo "pressed"
read -n1
check=""
else
echo "not pressed"
fi
echo "Doing Something"
done

我使用的是最新的 macOS 和 Terminal.app

也许你想要这样的东西(bash 版本 4.3(:

while [[ true ]]; do
read -t2 -N1 check
if [[ $check ]];then
echo "pressed"
if [[ "$check" == "q" ]]; then
break
fi
else
echo "not pressed"
fi
echo "Doing Something"
done

请看一下什么

$ echo "$BASH_VERSION"

指纹。

最新更新