shell条件判断

2023-02-25 16:15:34 浏览数 (2)

1.基本语法

代码语言:javascript复制
[ condition ](注意condition前后要有空格)

注意:条件非空即为true,[ ggg ]返回true,[] 返回false。

  1. 常用判断条件

(1)两个整数之间比较

代码语言:javascript复制
= 字符串比较

-lt 小于(less than)

​​​-le 小于等于(less equal)

-eq 等于(equal)​​​​

-gt 大于(greater than)

-ge 大于等于(greater equal)​

-ne 不等于(Not equal)

(2)按照文件权限进行判断

代码语言:javascript复制
-r 有读的权限(read)​

​​-w 有写的权限(write)

-x 有执行的权限(execute)

(3)按照文件类型进行判断

代码语言:javascript复制
-f 文件存在并且是一个常规的文件(file)

-e 文件存在(existence)

​​-d 文件存在并是一个目录(directory)

3.案例实操

​(1)23是否大于等于22

代码语言:javascript复制
[ 23 -ge 22 ]

echo $?

0

​(2)helloworld.sh是否具有写权限

代码语言:javascript复制
[ -w helloworld.sh ]

echo $?

0

​(3)/home/atguigu/cls.txt目录中的文件是否存在

代码语言:javascript复制
[ -e /home/atguigu/cls.txt ]

echo $?

1

(4)多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)

代码语言:javascript复制
[ condition ] && echo OK || echo notok

OK

[ condition ] && [ ] || echo notok

notok

0 人点赞