shell腳本基礎知識梳理<二>:測試操做符

1、整數測試符 比較大小;注:操做符兩邊必須留空格ide

[ intnum1 -eq intnum2 ] 或是 [[ intnum1 -eq intnum2 ]]
-eq:等於
[ intnum1 -ne intnum2 ]或是 [[ intnum1 -ne intnum2 ]] -ne:不等於
[ intnum1 -gt intnum2 ]或是 [[ intnum1 -gt intnum2 ]] -gt:大於
[ intnum1 -ge intnum2 ]或是 [[ intnum1 -ge intnum2 ]] -ge:大於等於
[ intnum1 -lt intnum2 ]或是 [[ intnum1 -lt intnum2 ]] -lt: 小於
[ intnum1 -le intnum2 ]或是 [[ intnum1 -le intnum2 ]] -le:小於等於
((intnum1 == intnum2)) 兩邊的空格能夠省略 兩個數等於返回真
((intnum1 != intnum2)) 兩個數不等於返回真
((intnum1 > intnum2)) 兩個數大於返回真
((intnum1 >= intnum2)) 兩個數大於或等於返回真
((intnum1 < intnum2)) 兩個數小於於返回真
((intnum1 <= intnum2)) 兩個數小於或等於返回真

2、文件測試  這些操做符合對於[[]]、[]、test幾乎通用,更多man test測試

 -f 文件 spa

文件存在且爲普通文件爲真,即測試表達式成字符串

-d 文件(目錄)it

文件存在且爲目錄文件爲真,即測試表達式成立table

-s 文件

文件存在且爲大小不爲0則真,即測試表達式成立class

-e 文件

文件存在爲真,即測試表達式成立,只要有文件就行,要區別與「-f」test

-r 文件 文件存在且可讀則真,即測試表達式成立
-w 文件

文件存在且可寫則真,即測試表達式成立top

-x 文件 文件存在且可執行則真,即測試表達式成立
-L 文件

文件存在且爲連接文件則真,即測試表達式成立tab

3、字符串測試符

-z "字符串"  若字符串長度爲0則真;[ -z "abc" ]&&echo 1||echo 0

- n "字符串"

若字符串長度不爲0則真

"字符串1" = "字符串2"

兩個字符串相等爲真

"字符串1" != "字符串2"

兩個字符串不相等爲真

注意

字符串用雙引號包含;比較符兩端有空格

4、邏輯鏈接符

在[]及test                                    在(())和[[]]使用的比                                   說明


  -a                                                             &&                                            and 與,兩個都爲真則真


  -o                                                              ||                                                or 或,兩端有一個爲真則真


! ! not 非,相反爲真

相關文章
相關標籤/搜索