0
我正試圖通過使用帶括號[
和]
的括號來檢查test
。如何使用非零標誌測試-n
試驗的手冊頁說,-n
可用於檢查字符串的長度不爲零:
-n STRING
the length of STRING is nonzero
在相反-z
可以使用TI檢查如果一個字符串的長度是零:
-z STRING
the length of STRING is zero
爲了理解test
是如何工作的我裝箱用空可變foo
其具有零的長度和第二可變bar
與一個的長度的例子:
$ export foo
$ export bar=1
$ [ -n $bar ] ; echo $?
0
$ [ -n $foo ] ; echo $?
0
$ [ -z $bar ] ; echo $?
1
$ [ -z $foo ] ; echo $?
0
-n
的前兩項測試顯示結果爲零。我建議第一次測試將爲零,第二次測試將爲零。第二個測試顯示了建議的結果。
引用您的變量或使用'[[]]''。 '-n $ foo'擴展爲'-n',因爲它沒有參數,所以被'[]'看作是用'-n'測試的字符串,所以變成'[-n「-n」]' – 123