小编典典

Linux 相当于 DOS 暂停是什么?

all

我有一个 Bash shell 脚本,我想在其中暂停执行,直到用户按下一个键。在 DOS 中,这很容易通过pause命令完成。我可以在我的脚本中使用
Linux 等价物吗?


阅读 67

收藏
2022-05-17

共1个答案

小编典典

read做这个:

user@host:~$ read -n1 -r -p "Press any key to continue..." key
[...]
user@host:~$

-n1指定它只等待一个字符。将-r其置于原始模式,这是必要的,否则,如果您按下反斜杠之类的东西,它不会注册,直到您按下下一个键。-p指定提示,如果它包含空格,则必须用引号引起来。仅当您想知道他们按下了哪个键时,才需要该key参数,在这种情况下,您可以通过$key.

如果您使用 Bash,您还可以使用 指定超时-t,这会导致读取在未按下键时返回失败。例如:

read -t5 -n1 -r -p 'Press any key in the next five seconds...' key
if [ "$?" -eq "0" ]; then
    echo 'A key was pressed.'
else
    echo 'No key was pressed.'
fi
2022-05-17