[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的值为空 ,所以虽然第二个判断值为真, 返回的结果也是假