zoukankan      html  css  js  c++  java
  • linux基础之条件测试

    关键词: 数值测试  字符串测试  文件测试

    测试命令有三种方式:

       test EXPRESSION 
      [ EXPRESSION ]
      [[ EXPRESSION ]]
        注意:EXPRESSION前后有空白字符

    bash的测试类型

      数值测试  

           -gt: 是否大于
         -ge:是否大于等于
        -lt: 是否小于
        -le: 是否小于等于
        -eq: 是否等于
        -ne: 是否不等于            

      字符串测试    

    ==: 是否等于
    >: 是否大于
    <: 是否小于
    != : 是否不等于
    ~=: 左侧字符串是否能够被右侧的PATTERN所匹配到
            Note:此种表达式一般用于[[]]中
    -z "STRING" : 测试字符串是否为空,空则为真,不空为假
    -n "STRING": 测试字符串是不不空,不空则为真,空则为假
            Note: 字符串比较时用到的操作数都应该使用引号

      文件测试

    存在性测试
        -a FILE
        -e FILE: 文件存在性测试,存在为真,否则为假
    存在性及类别测试    
        -b FILE: 是否存在且为块设备文件
        -c FILE: 是否存在且为字符设备文件
        -d FILE: 是否存在且为目录文件
        -f FILE : 是否存在且为普通文件
        -h FILE 或 -L FILE: 是否存在且为符号链接文件
        -p FILE: 是否存在且为管道文件
        -S FILE: 是否存在且为套接字文件
    文件权限测试
        -r FILE : 是否存在且可读
        -w FILE : 是否存在且可写
        -x FILE : 是否存在且可执行
    文件特殊权限测试:
        -g FILE: 是否存在且拥有sgid权限
        -u FILE: 是否存在且拥有suid权限
        -k FILE:是否存在且拥有sticky权限
    文件大小测试
        -s FILE: 是否存在且非空
    文件是否打开
        -t fd: fd表示文件描述符是否已经打开且与某终端相关
        -N FILE:文件自动上次被读取之后是否被修改过
        -O FILE: 当前用户是否为文件的属主
        -G FIEL: 当前用户是否为文件属组
    双目测试
        FILE1    -ef    FILE2 : FILE1 与 FILE2 是否指向同一个设备上的inode
        FILE1    -nt    FILE2 : FILE1 是否 新于 FILE2
        FILE1    -ot    FILE2 : FILE1 是否 旧于 FILE2
  • 相关阅读:
    oracle的根容器下新建pdb容器及本地用户
    oracle监听配置与防火墙问题
    oracle问题:ORA-09817及解决办法
    Oracle:Ora-01652无法通过128(在temp表空间中)扩展temp段的过程-解决步骤
    oracle:ORA-14765建索引阻塞创建分区及处理步骤
    oracle-组合索引字段位置与查询效率之间的关系
    hbase的split策略和预分区
    启动hbase后hmaster自动关闭
    hive一级分区、二级分区、动态分区
    hive beeline连接和交互shell连接
  • 原文地址:https://www.cnblogs.com/ckh2014/p/7191556.html
Copyright © 2011-2022 走看看