我有一个 Bash shell 脚本,我想在其中暂停执行,直到用户按下一个键。在 DOS 中,这很容易通过pause命令完成。我可以在我的脚本中使用 Linux 等价物吗?
pause
read做这个:
read
user@host:~$ read -n1 -r -p "Press any key to continue..." key [...] user@host:~$
-n1指定它只等待一个字符。将-r其置于原始模式,这是必要的,否则,如果您按下反斜杠之类的东西,它不会注册,直到您按下下一个键。-p指定提示,如果它包含空格,则必须用引号引起来。仅当您想知道他们按下了哪个键时,才需要该key参数,在这种情况下,您可以通过$key.
-n1
-r
-p
key
$key
如果您使用 Bash,您还可以使用 指定超时-t,这会导致读取在未按下键时返回失败。例如:
-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