我有一個功能,可以讓我檢查尚未設定的變量:驗證參數和設定值,如果空的,bash函數
ValidateArgs() {
for Var in "[email protected]" ; do
echo "Validating argument $Var with value \"${!Var}\"."
if [ -z "${!Var}" ] ; then
echo "Argument \"$Var\" is required. Please define $Var."
read -rp "Enter $Var: " Var
echo -e "\n"
fi
done
}
我想加強這方面的功能,因此它能夠設置一個值在與read -rp
一起閱讀後通過的論點。
我嘗試了幾種組合,是否有可能這樣做,如果是這樣,那麼最簡單的方法是什麼?
的函數被調用是這樣的:
ValidateArgs Action HostName
如果行動和主機名都沒有設置過ValidateArgs去功能後的值被要求,應設置。我寧願在主腳本中使用該功能。
從技術上說,你不是活得檢查未設置的變量;您正在檢查缺少非空值的變量。請閱讀'-v'運算符和'$ {var:?msg}'參數擴展。 – chepner