你們都知道,利用shell中的test命令及判斷符號[],能夠作如下事情:學習
1. 關於某個文件名的「文件類型」判斷;spa
2. 關於文件的權限檢測;字符串
3. 兩個文件之間的比較;test
4. 關於兩個整數之間的斷定;變量
5. 斷定字符串的數據;權限
6. 多重條件斷定。im
可是我最近在寫腳本的時候,發現當沒有定義AAA變量的時候,[ -z $AAA ]的結果竟然是1。數據
通過學習發現,我這個腳本菜鳥中了判斷符號[ ]的"埋伏"。$AAA應該用雙引號括起來。[ -z "$AAA"]的結果纔是正常的。因此爲了不遇到奇怪的問題,在使用判斷符號[ ]的時候要注意:腳本
- [ ]內的每一個組件都須要有空格鍵來分隔;img
- [ ]內的變量,最好都以雙引號括起來;
- [ ]內的常量,最好都以雙引號括起來。
養成好習慣吧~