HOWTO · Bash
Bash 中的使用者輸入
本教程將討論 Bash 中的使用者輸入。
本頁內容
接受使用者輸入對於任何程式或指令碼都非常重要。以這種方式,使用者與系統互動並向系統提供輸入。
與其他程式設計或指令碼語言一樣,Bash 支援接受使用者輸入。接受使用者輸入的一般格式是 read YOUR_VARIABLE。
如果你想為使用者建立一個標籤,讓他們知道他們需要什麼樣的輸入,格式將類似於 read -p "YOUR INSTRUCTION HERE : " YOUR_VARIABLE。在本文中,我們將瞭解如何在 Bash 中將使用者輸入輸入系統。
此外,我們將看到一些與主題相關的示例和解釋,以使主題更容易。
Bash 中的使用者輸入
正如我們已經討論過的,我們需要使用關鍵字 read 將使用者輸入到系統中。它是 Bash 中的一個內建關鍵字,用於讀取使用者輸入。
在下面的示例中,我們將獲取使用者輸入並向使用者提供輸出,包括使用者輸入。我們示例的程式碼將如下所示:
read YOUR_VAR
echo "You entered the number $YOUR_VAR"
上面分享了一個非常簡單的示例,我們通過該示例獲取輸入並提供如下所示的輸出。
50
You entered the number 50
但是使用者怎麼會知道他必須在這裡提供一個數值呢?我們需要告訴使用者他需要在這裡提供一個數值。
為此,你需要遵循以下示例,該示例與上一個示例類似但有所改進。我們示例的程式碼如下所示。
read -p "Please enter a number: " YOUR_VAR
echo "You entered the number $YOUR_VAR"
當你執行此示例時,指令碼首先會顯示一條訊息請輸入一個數字:,當使用者提供一個數值時,他將獲得以下輸出。
Please enter a number: 50
You entered the number 50
從使用者那裡獲取 YES 或 NO 輸入
下面我們將看到一個示例,該示例僅採用 YES 或 NO 之間的使用者輸入。我們示例的程式碼將是這樣的:
while true; do
read -p "Do you wish to continue? " yn
case $yn in
[Yy]* ) echo "You have selected YES!! ";;
[Nn]* ) echo "You have selected NO!! ";;
* ) echo "Please answer between YES or NO";;
esac
done
我們在示例中使用了一個 while 迴圈和一個條件語句 case。我們通過 read -p "Do you want to continue the program?" yn 獲取使用者輸入。
通過 [Yy]* ) echo "You have selected YES";; 和 [Nn]* ) echo "You have selected NO";; 我們檢查使用者輸入。
如果輸入是 Y 或 y,它將顯示輸出 You have selected YES,如果輸入是 N 或 n,它將顯示輸出 You have selected NO。
最後,如果使用者通過 * ) echo "請回答是或否";; 行輸入任何意外輸入,我們設定預設輸出。執行程式碼後,我們將得到如下輸出:
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? N
You have selected NO!!
請注意,本文中使用的所有程式碼都是用 Bash 編寫的。它僅適用於 Linux Shell 環境。