我有一个Bash shell脚本,我想在其中暂停执行,直到用户按下某个键为止。在DOS中,可以使用“ pause”命令轻松完成此操作。我可以在脚本中使用等效的Linux吗?
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,这会导致在未按下任何键时read返回失败。因此,例如:
-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