Variable

一行讀取驗證

  • February 5, 2018

我有這個read操作:

read -p "Please enter your name:" username

如何在一行中驗證使用者名?

如果不可能在一行中以理智的方式進行,那麼將 Bash 函式放入變數中可能是一個不錯的解決方案?


名稱只是一個範例,它可以是密碼或任何其他常見的表單值。

驗證在這裡的意思是:要求使用者兩次插入名稱,並確保兩個值相同。

使用者鍵入(或者,可能是複制和粘貼……)相同的東西兩次通常是通過兩次read呼叫、兩個變數和一個比較來完成的。

read -p "Please enter foo" bar1
read -p "Please enter foo again" bar2
if [ "$bar1" != "$bar2" ]; then
  echo >&2 "foos did not match"
  exit 1
fi

這可以通過while循環和條件變數來完成,該變數重複提示和檢查直到匹配,或者如果將有很多輸入提示,則可能抽象為函式呼叫。

引用自:https://unix.stackexchange.com/questions/421922