[cfp@bogon ~]$ [ 22 -ge 22 ]&&echoyes||echo no
yes# 判斷 22 是否大於等於 22 ,當然是了[cfp@bogon ~]$ [ 23 -le 22 ]&&echoyes||echo no
no
# 判斷 23 是否小於等於 22 ,當然不是了
5.字符串的判斷
測試選項
作用
-z 字符串
判斷字符串是否爲空(爲空返回真)
-n 字符串
判斷字符串是否爲非空(非空返回真)
字符串1==字符串2
判斷字符串1是否和字符串2相等(相等返回真)
字符串1!=字符串2
判斷字符串1是否和字符串2不相等(不相等返回真)
[cfp@bogon ~]$ name=sc
[cfp@bogon ~]$ [ -z "$name"]&&echoyes||echo no
no
# 判斷 name 變量是否爲空,因爲不爲空,所以返回 no [cfp@bogon ~]$ aa=11
[cfp@bogon ~]$ bb=22
# 給變量 aa 和變量 bb 賦值[cfp@bogon ~]$ ["$aa"=="bb"]&&echoyes||echo no
no
# 判斷兩個變量的值是否相等,明顯不相等 ,所以返回no
6.多重條件判斷
測試選項
作用
判斷1 -a 判斷2
邏輯與,判斷1和判斷2都成立,最終的結果才爲真
判斷1 -o 判斷2
邏輯或,判斷1和判斷2有一個成立,最終的結果就爲真
!判斷
邏輯非,使原始的判斷式取反
[cfp@bogon ~]$ aa=21
[cfp@bogon ~]$ [ -n "$aa" -a $aa -gt 23 ]&&echoyes||echo no
# 判斷變量 aa 是否有值,同時判斷變量 aa 的是否大於 23
no
# 因爲變量 aa 的值不大於 23 ,所以雖然第一個判斷值爲真, 返回的結果也是假[cfp@bogon ~]$ aa=24
[cfp@bogon ~]$ [ -n "$aa" -a $aa -gt 23 ]&&echoyes||echo no
yes[cfp@bogon ~]$ aa=""#字符串aa爲空[cfp@bogon ~]$ [ -n "$aa" -a 24 -gt 21 ]&&echoyes||echo no
no
# 因爲變量aa的值爲空 ,所以雖然第二個判斷值爲真, 返回的結果也是假