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
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    yum上包找不到时,用rpmsearch
    多语言国家与缩写映射表
    M_LROOT,LD_LIBRARY_PATH, “Not all extension Dlls were loaded”问题原因及解决方法(持续更新)
    android 手机信息获取
    32位和64位adb下载及安装
    basename usage in linux
    单台centos7.3 虚拟机实现主从复制和哨兵集群
    XXL-JOB分布式任务调度平台安装与部署
    MySQL5.7压缩包安装图文教程
    基于Consul+Upsync+Nginx实现动态负载均衡
  • 原文地址:https://www.cnblogs.com/binbingg/p/15428698.html
Copyright © 2011-2022 走看看