zoukankan      html  css  js  c++  java
  • Shell 脚本 test 命令详解

    test命令在bash shell脚本中经常以中括号([])的形式出现,而且在脚本中使用字母来表示比符号表示更专业,出错率更低。

    测试标志 代表意义
    文件名、文件类型
    -e 该文件名是否存在
    -f 该文件名是否存在且为file
    -d 该文件名是否存在且为目录
    -b 该文件名是否存在且为一个block
    -c 该文件名是否存在且为一个character device设备
    -S 该文件名是否存在且为一个socket文件
    -p 该文件名是否存在且为一个FIFO(pipe)文件
    -L 该文件名是否存在且为一个连接文件
    文件权限检测
    -r 检测文件名是否存在且具有“可读”权限
    -w 检测文件名是否存在且具有“可写”权限
    -x 检测文件名是否存在且具有“可执行”权限
    -u 检测文件名是否存在且具有“SUID”权限
    -g 检测文件名是否存在且具有“SGID”权限
    -k 检测文件名是否存在且具有“Sticky bit”权限
    -s 检测文件名是否存在且为“非空白文件”
    两个文件的比较
    -nt (newer than)判断file1是否比file2新
    -ot (older than)判断file是否比file2旧
    -ef 判断file1与file2是否为同一个文件,可用在判断hard link上
    数字之间的判定
    -eq equal
    -ne not equal
    -gt greater than
    -lt less than
    -ge greater than or equal
    -le less than or equal
    判断字符串的数据
    test -z string 判断字符串是否为0,若为空返回true
    test -n string 判断字符串是否为0,若为空返回false
    test str1 = str2 判断str1是否等于str2,若相等,返回true
    test str1 != str2 判断str1是否等于str2,若相等,返回false
    多重条件的判断
    -a 两个条件同时成立,eg:test -r file a test -x file,同时成立返回true
    -o 任何一个条件成立,eg:test -r file o test -x file,同时成立返回true
    反向状态,如test!-x file,当file不具有x时,返回true
    作者:Binge
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    时间序列理论专题之二 时间序列的表达
    Ado.net Entity FrameWork的性能问题
    时间序列专题之三 时间序列的分段线性表示
    Tfs 2010使用小技巧
    时间序列理论专题之一 前言
    绝大多数新技术的学习,都是浪费生命
    Tfs2010简体中文版:翻译永远是问题
    MSsql 查询时默认是不区分大小写。 可以用语句强制sql语句查询时区分大小写 狼
    将.NET dll注册到GAC(Global Assembly Cache)中 狼
    js重载 狼
  • 原文地址:https://www.cnblogs.com/binbingg/p/15428698.html
Copyright © 2011-2022 走看看