我正在使用以下代碼來檢查變數是否為空。我正在使用 while 回圈,因為我需要繼續回圈直到變數為空。當變數被設定為一個值時,回圈應該退出。
MR=[]
while [ -z "$MR" ]
do
echo "in while loop"
sleep 10s
MR="hi"
done
出于某種原因,它根本沒有執行。是什么原因?
uj5u.com熱心網友回復:
是什么原因?
MR變數不為空,它包含兩個字符[和]。
$ MR=[]
$ echo "$MR"
[]
因為它不為空,[ -z "$MR" ]回傳非零,所以while永遠不會被執行。
而是將變數設定為空字串。
MR=
# or, does the same, but for some is more readable:
MR=""
# or
MR=''
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/396788.html
