侧边栏壁纸
博主头像
cn2linux博主等级

行动起来,活在当下

  • 累计撰写 128 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Shell条件判断

Bash 提供了多种方式来测试文件属性和执行条件判断。这些测试对于脚本编写和条件流控制至关重要。

文件和条件判断的两种写法

  1. 使用 test 命令:

    test [条件选项] [文件]

  2. 使用中括号:

    [ [条件选项] [文件] ]

文件类型判断

  • 判断文件是否存在:

    [ -e test.txt ] && echo yes || echo no

  • 其他文件类型判断选项:

    -b 文件		块设备文件判断
    -c 文件		字符设备文件判断
    -d 文件		目录判断
    -e 文件		文件存在判断
    -f 文件		普通文件判断
    -L 文件		符号链接文件判断
    -p 文件		管道文件判断
    -s 文件		非空文件判断
    -S 文件		套接字文件判断

文件权限判断

-r 文件		读权限判断
-w 文件		写权限判断
-x 文件		执行权限判断
-u 文件		SUID权限判断
-g 文件		SGID权限判断
-k 文件		Sticky位权限判断

新旧inode比较

文件1 -nt 文件2	文件1新于文件2判断
文件1 -ot 文件2	文件1旧于文件2判断
文件1 -ef 文件2	inode号相同判断

数值判断

数字1 -eq 数字2		相等判断
数字1 -ne 数字2		不相等判断
数字1 -gt 数字2		大于判断
数字1 -lt 数字2		小于判断
数字1 -ge 数字2		大于等于判断
数字1 -le 数字2		小于等于判断

多重判断

  • 示例:判断1是否等于1并且1是否等于2

    [ 1 -eq 1 -a 1 -eq 2 ] && echo yes || echo no

  • 多重判断选项:

    判断1 -a 判断2		两个判断都成立为真
    判断1 -o 判断2		两个判断之一成立为真
    ! 判断 			逻辑非,使原始判断式取反

0

评论区