0
我的腳本中有大量變量,並且如果任何一個變量都爲空,我希望腳本出錯。測試空變量
我知道我可以:
if [[ -z "$var_1" ]] || [[ -z "$var_2" ]] || ... [[ -z "$var_n" ]]; then
# failure message
fi
然而,我不能告訴哪個變量是空的,如果我這樣做的用戶。有沒有其他的方法可以讓我告訴用戶空的變量?
我的腳本中有大量變量,並且如果任何一個變量都爲空,我希望腳本出錯。測試空變量
我知道我可以:
if [[ -z "$var_1" ]] || [[ -z "$var_2" ]] || ... [[ -z "$var_n" ]]; then
# failure message
fi
然而,我不能告訴哪個變量是空的,如果我這樣做的用戶。有沒有其他的方法可以讓我告訴用戶空的變量?
#!/bin/sh
foo=(var_1 var_2 var_n)
for bar in ${foo[*]}
do
if [[ ! ${!bar} ]]
then
echo $bar is empty
fi
done
第一次引用變量時只需使用${var:?var is empty or unset}
。如果空字符串可以接受,並且只關心變量是否設置,請執行${var?var is unset}
。在參數擴展中使用?
會導致shell終止,並且如果該變量爲(空或未設置)。