在 Linux Bash 中暂停程序执行
Yahya Irmak
2022年5月11日
你有时可能希望暂停程序在 bash 脚本中执行。这可能是因为从用户那里获得输入或要求他们确认案例。
在 DOS 中,你可以使用 pause
命令执行此操作。本文将解释如何使用 read
命令暂停程序的执行。
在 Bash 中使用 read
命令暂停程序执行
read
命令使程序暂停,直到收到用户的输入或一段时间。在本文的其余部分,我们将解释该命令的参数并举例说明其不同用途。
以下示例从用户那里获取一个字符以继续执行。
read -n1 -rp "Press any key to continue: " key
-n
参数指定要作为输入的字符数。在本例中,它设置为 1。-r
参数指定输入将处于原始模式。不允许使用转义字符。-p
参数创建一个提示。如果与$
和' '
一起使用,它允许在要打印的文本中转义字符。与双引号一起使用时,它以纯文本形式打印。key
是任何变量。它存储作为输入给出的字符。
在下面的示例中,用户可以按 Enter 键继续。他们不必使用字符。
此外,在示例中,$
和 ' '
字符与 -p
参数一起使用。它允许将\n
字符用作换行符。
read -rsp $'Press enter to continue\n'
-s
参数用于静默模式。从键盘获取的字符不会反映在屏幕上。
在下一个示例中,用户必须在 3 秒
内按下一个键,否则程序将继续执行。
read -t3 -n1 -rp "Press [x] to exit in 3 seconds " key
-t
参数以秒为单位指定超时。在本例中,它设置为 3 秒。
在上一个示例中,字母 N
默认打印到屏幕上。
read -rp "Do you want to exit? (y/N) : " -ei "N" key;
-e
参数用于切换到readline
模式。-i "N"
参数指定readline
模式的默认字符。
作者: Yahya Irmak
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn