zoukankan      html  css  js  c++  java
  • bash Shell条件测试

    3种测试命令:

      test EXPRESSION

      [ EXPRESSION ]

      [[ EXPRESSION ]]   

      注意:EXPRESSION前后必须有空白字符

    bash的测试类型

      数值测试:

        -eq:是否相等

        -ne:是否不等

        -ge:是否大于等于

        -le:是否小于等于

        -gt:是否大于

        -lt:是否小于

      字符串测试:

        =或==:是否等于

        >:是否大于

        <:是否小于

        !=:是否不等于

        =~:左侧字符串是否能够被右侧PATTERN所匹配  [[  ]]中使用

        -z "STRING":测试字符串是否为空,空则为真

        -n "STRING":测试字符串是否非空,不空则为真

        注意:用于字符串比较时用到的操作数都应该使用引号括起来

       文件测试:

         存在性测试:

            -a FILE:同下

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

         存在性及类别测试:

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

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

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

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

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

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

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

          文件权限测试:

            -r FILE:是否存在且可读

            -w FILE:是否存在且可写

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

          文件特殊权限测试:

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

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

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

          文件大小测试:

            -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:2个条件同时为真,则结果为真

             EXPRESSION1 -o EXPRESSION2:2个条件中其中一个条件为真,则结果为真

             ! EXPRESSION:条件为假时,则结果为真

            [[  ]]或[  ] ** [  ]中使用:  注:**为&&或||

             &&: 左右两边条件或命令同时为真,则结果为真

             ||:左右两边条件或命令其中一个为真时,则结果为真

             !:条件或命令为假时,则结果为真

          注:[  ]中使用小括号需要转义即(),[[  ]]则无需转义

         

              

              

          

          

  • 相关阅读:
    java软件设计模式只单例设计模式
    IOS疯狂基础之观察者模式
    IOS之UIColor
    UITableView与UITableViewCell
    UILabel的各种属性和方法
    iOS TextField
    【IPHONE开发-OBJECTC入门学习】对象的归档和解归档
    【IPHONE开发-OBJECTC入门学习】复制对象,深浅复制
    【IPHONE开发-OBJECTC入门学习】文件的操作,读写复制文件
    虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
  • 原文地址:https://www.cnblogs.com/Stong/p/6720816.html
Copyright © 2011-2022 走看看