Shell腳本中常用的操作符
算術操作
+ - * / %
關系操作
< > >= <= == != && ||
測試操作
測試命令 : test [ ] [[ ]] (( ))
1、測試文件狀態
-d 目錄
-b 塊設備
-s 文件長度 > 0、非空
-f 正規文件
-w 可寫
-L 符號連接
-u 文件有 suid 位設置
-r 可讀
-x 可執行
如: [ -w tmp.txt ] 測試文件tmp.txt是否可寫
2、字符串測試
= 兩個字符串相等
!= 兩個字符串不相等
-z 空串
-n 非空串
$ VAR1='abc'
$ VAR2='123'
$ [ "$VAR1" = "$VAR2" ]
$ echo $?
1
3、測試數值
-eq 等於
-ne 不等於
-gt 大於
-lt 小於
-ge 大於等於
-le 小於等於
4. 拓展測試符號 [[ ]] (( ))
# [[ 2 > 10 ]] # 結果錯誤
# echo $?
0
# (( 2 >10 )) 結果正確
# echo $?
0
# [[ "aa" = "aa" ]]
# echo $?
0
# (( "aa" = "aa" )) #結果錯誤
# echo $?
1
結論:
比較數字,使用(( ))
其他測試使用 [[ ]]
包含數字比較的混合測試,使用標准語法