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
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    mysql bin log配置及查看
    Java 相关书籍
    mysql查询性能优化
    Java线程并发:知识点
    Java 根据经纬度计算两点之间的距离
    Java加解密AES、DES、TripleDES、MD5、SHA
    Java类加载基本过程
    基本排序算法(冒泡排序 选择排序 插入排序 快速排序 归并排序 基数排序 希尔排序)
    Three.js 中的参数调试控制插件dat.GUI.JS
    Three.js中的动画实现02-[Three.js]-[Object3D属性.onAfterRender/.onBeforeRender]
  • 原文地址:https://www.cnblogs.com/binbingg/p/15428698.html
Copyright © 2011-2022 走看看