Shell判断:条件测试(二)

一、字符串比较:

        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

Shell判断:条件测试(二)_第1张图片 

 

你可能感兴趣的:(Shell,linux,bash)