爱因斯坦耸耸肩

Linux:shell基础(十)

条件判断

 

1、按照文件类型进行判断:

   -b    :判断该文件是否存在,并且是否为块文件(是块文件则为

  -c     :判断该文件是否存在,并且是否为字符设备文件(是字符设备文件则为

  -d  :判断该文件是否存在,并且是否为目录文件(是目录文件则为

  -e  :判断该文件是否存在,(存在则为

  -f   :判断该文件是否存在,并且是否为普通文件(是普通文件则为

  -L  :判断该文件是否存在,并且是否为符号链接文件(是符号链接文件则为

  -p  :判断该文件是否存在,并且是否为管道文件(是管道文件则为

  -s  :判断该文件是否存在,并且是否为非空非空则为

  -S    :判断该文件是否存在,并且是否为套接字文件(是套接字文件则为

   两种判断格式:

    test -e  /test.sh

    [ -e /test.sh ]

2、按照文件权限进行判断:

  -r 文件   :判断该文件是否存在,并且是否拥有权限。(有读权限为真)

  -w 文件  :判断该文件是否存在,并且是否拥有权限。(有写权限为真)

   -x 文件  :判断该文件是否存在,并且是否拥有执行权限。(有执行权限为真)

  -u 文件   :判断该文件是否存在,并且是否拥有SUID权限。(有SUID权限为真)

   -g 文件  :判断该文件是否存在,并且是否拥有SGID权限。(有SGID权限为真)

  -k 文件   :判断该文件是否存在,并且是否拥有SBit权限。(有SBit权限为真)

 

 3、两个文件之间的比较

  文件1 -nt 文件2:判断文件1的修改时间是否比文件2。(如果新则为真)

  文件1 -ot 文件2:判断文件1的修改时间是否比文件2。(如果旧则为真)

  文件1 -ef 文件2:判断文件1和文件2的inode号是否一致。可以理解为判断是否为同一个文件。

          可以用该方法判断是否为硬链接。

 

 4、两个整数之间的比较

  整数1 -eq 整数2  :判断整数1是否与整数2相等(相等则为真)

  整数1 -ne 整数2  :判断整数1是否与整数2不相等(不相等则为真)

  整数1 -gt 整数2   :判断整数1是否大于整数2(大于则为真)

  整数1 -lt 整数2    :判断整数1是否小于整数2(小于则为真)

  整数1 -ge 整数2     :判断整数1是否大于等于整数2(大于等于则为真)

  整数1 -le 整数2   :判断整数1是否小于等于整数2(小于等于则为真)

 

5、字符串的判断

  -z 字符串         :判断字符串是否为空(为空则为真)

  -n 字符串         :判断字符串是否非空(非空则为真)

  字符串1 == 字符串2   :判断字符串1和字符串2是否相等(相等则为真)

  字符串1 != 字符串2  :判断字符串1和字符串2是否相等(不相等则为真)

 

6、多重条件判断

  判断1 -a 判断2  :逻辑,判断1和判断2都成立,最后的结果才成立。

  判断1 -o 判断2  :逻辑,判断1和判断2有一个成立,最后的结果就成立。

  !判断       :逻辑,使原来的判断取反。

 

 

posted on 2019-11-04 23:28  爱因斯坦耸耸肩  阅读(136)  评论(0编辑  收藏  举报

导航