Shell脚本之条件测试

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

条件测试
    在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果不同进行不同的操作,有时也会与if等条件语句相结合,让我们可以方便的完成判断。

语法说明
    格式一:test 测试表达式

        


    格式二: [ 测试表达式 ]

        


    格式三: [[ 测试表达式 ]]

        


    格式一和格式二是等价的,格式三是test的扩展命令。在[[ ]]、[ ]中可以使用通配符进行匹配,&&、||、>、<、等也可用于[[ ]]中,但不能用于[ ]中。

 

文件测试操作符
    -f 文件:若文件存在且为普通文件则为真(f=file)
    -d 文件:若文件存在且为目录文件则为真(d=dirctory)
    -s 文件:若文件存在且不为空(文件大小为零)则为真(s=size)
    -e 文件:若文件存在则为真(e=exist)
    -r 文件:若文件存在且可读则为真(r=read)
    -w 文件:若文件存在且可写则为真(w=write)
    -x 文件:若文件存在且可执行则为真(x=executable)
    -L 文件:若文件存在且为链接文件则为真
    f1 –nt f2:若文件f1比文件f2新则为真(nt=newer than)
    f1 –ot f2:若文件f1比文件f2旧则为真(ot=older than)

字符串测试操作符
    比较两个字符串是否相同、字符串长度是否为零,字符串是否为NULL(bash区分零长度字符串和空字符串)等
    -z “字符串”:若字符串长度为零则为真(z=zero)
    -n “字符串”:若字符串长度不为零则为真(z=no zero)
    “串1”=”串2”:若串1等于串2则为真,可用“==”代替“=”
    “串1”!=”串2”:若串1不等于串2则为真
    比较字符串长度是否相等:[ “${#字符串1}” = “${#字符串2}” ] && echo 1 || echo 0

整数二元比较操作符

    
 

   

 

逻辑操作符

    

 

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值