酷!學園

其他討論區 => 肉腳版 => 主題作者是: apachectl 於 2015-04-10 14:01

主題: 變數是空值 null 的問題
作者: apachectl2015-04-10 14:01
假設 novar 變數不存在,用 $ 取得其值預設是null空值。做以下實驗:
# test -z "$novar";echo $?
0
# test -n "$novar";echo $?
1

以上測試是正常的,但現在如果把引號去掉再做測試:
# test -z $novar;echo $?
0
# test -n $novar;echo $?
0
此時 exit code 都是0,why??
主題: Re: 變數是空值 null 的問題
作者: yc1232015-04-10 20:12
個人理解如下:

# test -n "$novar";echo $?
語法變成如下:
# test -n "";echo $?

# test -n $novar;echo $?
若不加雙引號,語法變成如下:
# test -n;echo $?
主題: Re: 變數是空值 null 的問題
作者: netman2015-04-11 09:09
很棒的問題!
樓上也答得很到位!!