一、组合条件判断

组合条件测试是指可以将多个条件组合起来进行判断,条件和条件之间有逻辑关系。例如判断一个数是否大于3,并且小于9,这里大于3是一个条件,小于9也是一个条件,这两个条件必须同时满足。同时满足即为逻辑关系。通常逻辑关系有以下几种:

与:-a,当指定多个条件时,默认为与关系

或:-o

非:!,这是个单目操作符

 

如判断一个UID是否大于1,且小于499的写法如下

[root@localhost tutor]# Uid=300

[root@localhost tutor]# [ $Uid -ge 1 ]

[root@localhost tutor]# echo $?

0

[root@localhost tutor]# [ $Uid -le 499 ]

[root@localhost tutor]# echo $?

0

[root@localhost tutor]# [ $Uid -ge 1 -a $Uid -le 499 ]

# 使用-a表示两个与关系的条件,必须同时满足

[root@localhost tutor]# echo $?

0

[root@localhost tutor]# Uid=3000

[root@localhost tutor]# [ $Uid -ge 1 -a $Uid -le 499 ]

[root@localhost tutor]# echo $?

1

如判断一个UID是否等于0,或者大于的写法如下

[root@localhost tutor]# Uid=300

[root@localhost tutor]# [ $Uid -eq 0 -o $Uid -ge 500 ]

# 使用-o表示两个或关系的条件,只需要满足其一即可

[root@localhost tutor]# echo $?

1

[root@localhost tutor]# Uid=3000

[root@localhost tutor]# [ $Uid -eq 0 -o $Uid -ge 500 ]

[root@localhost tutor]# echo $?

0

判断一个UID是否不等于0,写法如下:

[root@localhost tutor]# Uid=0

[root@localhost tutor]# [ ! $Uid -eq 0 ]

# 使用