zoukankan      html  css  js  c++  java
  • shell 文件条件判断

    按照文件类型进行判断

    '-b 文件'
    判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)
    '-c 文件'
    判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)
    '-d 文件'
    判断该文件是否存在,并且是否为目录文件(是目录文件为真)
    '-e 文件'
    判断该文件是否存在(存在为真)
    '-f 文件'
    判断该文件是否存在,并且是否为普通文件(是普通文件为真)
    '-L 文件'
    判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
    '-p 文件'
    判断该文件是否存在,并且是否为管道文件(是管道文件为真)
    '-s 文件'
    判断该文件是否存在,并且是否为非空(非空为真)
    '-S 文件'
    判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)
    

    判断格式

    *)test -e /root/install.log
    *) [ -e /root/install.log ]
    ​
    实例:
    [ -d /root ] && echo "yes" || echo "no"
    第一个判断命令如果正确执行,则打印yes,否则打印no
    

    按照文件权限进行判断

    '-r 文件'
    判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真)
    '-w文件'
    判断该文件是否存在,并且是否该文件拥有写权限(有写权限为真)
    '-x 文件'
    判断该文件是否存在,并且是否该文件拥有执行权限(有执行权限为真)
    ​
    '-u 文件'
    判断该文件是否存在,并且该文件拥有SUID权限(有SUID权限为真)
    '-g文件'
    判断该文件是否存在,并且是否该文件拥有SGID权限(有SGID权限为真)
    '-k 文件'
    判断该文件是否存在,并且是否该文件拥有SBit权限(有SBit权限为真)
    [ -w /root/intall.log] && echo "yes" || echo "no"
    只要有写权限即可,并不会判断是所有者或是所属组是否有权限
    

    两个文件比较

    '文件1 -nt 文件2'
    判断文件1的修改时间是否比文件2的新(如果新则为真)
    '文件1 -ot 文件2'
    判断文件1的修改时间是否比文件2的旧(如果旧则为真)
    '文件1 -ef 文件2'
    判断文件1是否和文件2的Inode号一致,可以理解为两个文件是否为同一个文件。
    这个判断用于判断硬链接是很好的方法
    ln /root/student.txt /tmp/stu.txt
    创建一个硬链接
    ​
    [/root/student.txt -ef /tmp/stu.txt] && echo "yes" || echo "no"
    yes
    用test测试下,果然很有用
    
  • 相关阅读:
    TODO: Android UI测试 UIAutomator
    Android-jacoco代码覆盖率:单元测试覆盖率+功能测试覆盖率
    Android --其他测试点
    Android 测试-Robolectric,mockito,esspresso
    Android adb的一些用法
    Android上执行python脚本-QPython
    【洛谷P1080】国王游戏
    【洛谷P2123】皇后游戏
    【洛谷P2340】 奶牛会展
    【洛谷P1982】小朋友的数字
  • 原文地址:https://www.cnblogs.com/ssgao/p/8869651.html
Copyright © 2011-2022 走看看