第壹次的執行過程是這樣的
[ -z ] 當要判斷的字符串長度為0時為真,所以顯示了null。
[ -n ] 當要判斷的字符串非空時為真,但是-n 有壹個弊端就是在沒有字符串可判斷的情況下為真。
因為[ ]本身也可以用來判斷字符串,當-n 沒有可判斷字串時,[ ] 判斷了-n。所以為真。
書上給的建議是使用中括號-n 判斷時,必須給妳要判斷的字符加加上" ",也就是 "$2"。
另壹種給的建議是使用取反 [ ! -z $2 ] 來進行判斷非空
第二次執行過程
[ -z 22 ] 字符串不為0,打印 no null
[ -n 22 ] 字符串非空,打印 2null