在 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