在 Linux Bash 中暂停程序执行
Yahya Irmak
2022年5月11日
Bash
Bash Program
你有时可能希望暂停程序在 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模式的默认字符。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Yahya Irmak
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn