Command-Line
讀取值驗證
有沒有辦法驗證或確認使用者寫了它的意思
read
?
- 例如,使用者打算寫“Hello world!” 但誤寫了“Hello world@”。
- 這與電子郵件/電話欄位的聯繫表單驗證非常相似。
有沒有辦法在閱讀時提示使用者“請重新輸入輸入”?
我在
man read
.注意:輸入是密碼,所以我不想列印或將其與已經存在的字元串進行比較。
有了
bash
外殼,你總能做到FOO=a BAR=b prompt="Please enter value twice for validation" while [[ "$FOO" != "$BAR" ]]; do echo -e $prompt read -s -p "Enter value: " FOO read -s -p "Retype to validate: " BAR prompt="\nUups, please try again" done unset -v BAR # do whatever you need to do with FOO unset -v FOO
read
使用的選項:
-s
靜音模式。如果輸入來自終端,則不會回顯字元。-p prompt
在嘗試讀取任何輸入之前,在標準錯誤上顯示提示,不帶尾隨換行符。