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

    按照文件类型进行判断
    判断符 说明 备注
    -b 判断文件是否存在,且是否为块设备文件
    -c 判断文件是否存在,且是否为字符设备块文件
    -d 判断文件是否存在,且是否为目录文件
    -e 判断文件是否存在,存在为真
    -f 判断文件是否存在,且是否为普通文件
    -L 判断文件是否存在,且是否为软连接文件
    -p 判断文件是否存在,且是否为管道文件
    -s 判断文件是否存在,且是否为非空
    -S 判断文件是否存在,且是否为套接字文件

    按照文件类型进行判断
    -r 判断文件是否存在,且有 r 权限
    -w 判断文件是否存在,且有 w 权限
    -x 判断文件是否存在,且有 x 权限
    -u 判断文件是否存在,且有 SUID 权限
    -g 判断文件是否存在,且有 SGID 权限
    -k 判断文件是否存在,且有 SBIT 权限

    两个文件之间进行比较
    a -nt b 判断 a 文件的修改是否比 b 文件新
    a -ot b 判断 a 文件的修改是否比 b 文件旧
    a -ef b 判断 a 文件和 b 文件的 Inode 号是否一样

    字符串的判断
    -z 判断字符串(变量)是否为空
    -n 判断字符串(变量)是否为非空
    a == b 判断字符串 a 和 b 是否相等
    a != b 判断字符串 a 和 b 是否不相等相等,[ "$a" = "$b" ]
    a < b 符号两侧空格可有可无,[[ "$a" < "$b" ]]
    a<=b 符号两侧不能有空格,[[ "$a"<="$b" ]]
    a =~ b 符号两侧必须有空格,[[ "$a" =~ "$b" ]],a 包含于 b

    两个整数之间进行比较
    [ a -eq b ] a=b
    [ a -ne b ] a!=b
    [ a -gt b ] a>b
    [ a -lt b ] a<b
    [ a -ge b ] a>=b
    [ a -le b ] a<=b

    多重条件判断
    判断 1 -a 判断 2 逻辑与,判断 1 和判断 2,都成立为真
    判断 1 -o 判断 2 逻辑或,判断 1 和判断 2,有一个成立为真
    ! 判断 逻辑非,取反原判断式, [ ! 2 -eq 3 ]


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    field_automation源码分析
    uvm设计分析——field automation
    uvm设计分析——tlm
    gedit emacs
    C语言---数据结构(内建,数组,自定义)
    C语言---选择结构和循环结构
    C语言---变量与函数
    C语言---指针
    C语言--函数
    009-多线程-锁-JUC锁-Semaphore 信号量【控制一定数量的许可(permit)的方式,来达到限制通用资源访问的目的】
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11190675.html
Copyright © 2011-2022 走看看