shell的測試表達式有3種語法分別是 [] [[]] (())。還有區別,2年前,騰訊的電話面試,我就折在這上面了。特別總結一下,以備查!
1.整數比較
[](整數類型比較) [[ ]] (( )) (整數、字符串均可) 說明 -eq = 或者 == 等於 -ne != 不等於 -gt > 大於 -ge >= 大於等於 -lt < 小於 -le <= 小於等於2.邏輯操作符
[] [[ ]] (( )) 說明 -a && 邏輯與 -o || 邏輯或 ! ! 邏輯非
3.變量測試
-f 普通文件是否存在 -d 目錄是否存在 -s 存在且非空 -e 文件存在(區別於-f) -r 存在且可讀 -x
可執行
-L 是否為鏈接文件 f1 -nt f2f1 比 f2 新
f1 -ot f2 f1 比 f2 舊 -z "chars" 變量為空 -n "chars" 變量不為空