bash中的测试

三种测试命令

      test EXPRESSION

      [EXPRESSION]

      [[EXPRESSION]]

      EXPRESSION中没一个元素前后都要有空格

数值测试

      -gt:是否大于

      -ge:是否大于等于

      -eq:是否等于

      -ne:是否不等于

      -lt:是否小于

      -le:是否小于等于

字符串测试

      ==:是否等于

      >:是否大于

      <:是否小于

      !=:是否不等于

      =~:左侧字符串是否能被右侧的PATTER所匹配,在[[]]中使用

      -z “string”:测试字符串是否为空,空则为真,不空则为假

      -n “string”:测试字符串是否为空,空则为假,不空则为真

      注意:用于字符串比较是用到的操作数都应加引号

文件测试

      存在测试

            -a FILE:文件存在测试,存在为真,否则为假

           -e FILE:同上

      存在性及类别测试

            -b FILE:是否存在且为设备文件

            -c FILE:是否存在且为字符设备文件

            -d FILE:是否存在且为目录文件

            -f FILE:是否存在且为普通文件

            -h或-L FILE:是否存在且为符号链接文件

            -p FILE:是否存在且为管道文件

            -S FILE:是否存在且为套接字文件

      文件权限测试

            -g FILE:是否存在且为sgid权限

            -u FILE:是否存在且为suid权限

            -k FILE:是否存在且为sticky权限

            -r FILE:是否存在且可读

            -w FILE:是否存在且可写

            -x FILE:是否存在且可执行

      文件大小测试

            -s FILE:是否存在且非空

      文件是否被打开

            -t fd:fd表示文件描述符是否已经打开且与某终端相关

            -N FILE:文件自上一次读取是否被修改过

            -O FILE:当前有效用户是否为文件属主

            -G FILE:当前有效用户是否为文件属组

      双目测试

            FILE1 -ef FILE2:FILE1和FILE2是否指向同一个设备上的相同inode

            FILE1 -nt FILE2:FILE1是否新于FILE2

            FILE1 -ot FILE2:FILE1是否旧于FILE2

组合测试

      [ ]中使用

            EXPRESSION1 -a EXPRESSION2:两个条件都为真则为真

            EXPRESSION1 -o EXPRESSION2:两个条件有一个为真则为真

            !EXPRESSION:条件为假时则为真

      [[ ]]中使用

            EXPRESSION1 && EXPRESSION2:两个条件都为真则为真

            EXPRESSION1 || EXPRESSION2:两个条件有一个为真则为真

            !EXPRESSION:条件为假时则为真

      [ ]中使用小括号需要转意\(\),[[ ]]则无需转意


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值