一、字符串比较:
1、格式:[“字符串”=“字符串”]
2、操作符:
=,等于
!=,不等于
-z:判断字符长度是为0 -n:判断字符长度不是为0
3、示例:
[root@localhost ~]# [ "yes" = "yes" ];echo $?0
[root@localhost ~]# read -p "是否升级装备:" select ; [ "yes" = "$select" ]; echo $?
是否升级装备:yes
0
[root@localhost ~]# read -p "是否升级装备:" select ; [ "no" != "$select" ]; echo $?
是否升级装备:1
0
[root@localhost ~]# BBB=""
[root@localhost ~]# echo ${#BBB}
0
[root@localhost ~]# [ -z "$BBB" ]; echo $?
0
[root@localhost ~]# AAA=12345
[root@localhost ~]# echo ${#AAA}
5
[root@localhost ~]# [ -z "$AAA" ]; echo $?
1
[root@localhost ~]# [ -n "$BBB" ]; echo $?
1
[root@localhost ~]# [ -n "$AAA" ]; echo $?
0
二、and和or:
1、简介:
当条件测试比较复杂时,需要多个条件同时成立。就需要混合条件测试了。
-
逻辑的(and)与(or):
-
&& 逻辑的and的意思,-a,两个条件同时成立,为真。
-
|| 逻辑的or的意思,-o,两个条件一个成立,为真。
-
2、示例:
[root@localhost ~]# [ 1 -lt 2 -a 5 -gt 10 ];echo $?
1
[root@localhost ~]# [ 1 -lt 2 -o 5 -gt 10 ];echo $?
0
[root@localhost ~]# [[ 1 -lt 2 && 5 -gt 10 ]];echo $?
1
[root@localhost ~]# [[ 1 -lt 2 || 5 -gt 10 ]];echo $?
0
[root@localhost ~]# [ 1 -lt 2 ] && [ 11 -gt 10 ]; echo $?
0
[root@localhost ~]# [ 1 -lt 2 ] && [ 9 -gt 10 ]; echo $?
1