Shell中的条件判断

时间:2022-03-29 05:41:23

1.文件属性判断符:

-e :判断文件是否存在,存在则为真

Shell中的条件判断

-f:判断文件存在且是常规文件则为真

Shell中的条件判断

-d:文件存在且是一个目录则为真

Shell中的条件判断

-c:文件存在且是一个特殊字符文件则为真

Shell中的条件判断

-b:文件存在且是一个特殊块文件则为真

Shell中的条件判断

-g:文件存在且设置了sgid则为真

Shell中的条件判断

-u:文件存在且设置了suid则为真

Shell中的条件判断

-r:文件存在且是可读文件则为真

-w:文件存在且是可写文件则为真

-x:文件存在且是可执行文件则为真

Shell中的条件判断

-s:文件存在且不为空则为真

Shell中的条件判断

-nt:用于比较两个文件的新旧,格式<file1>-nt<file2>,如果file1比file2新则为真(指修改时间mtime)

-ot:用于比较两个文件的新旧,格式<file1>-ot<file2>,如果file1比file2旧则为真(指修改时间mtime)

Shell中的条件判断

2.字符串判断:

-z:判断字符串是否为空,为空则为真

Shell中的条件判断

-n:字串不为空则为真

=:判断两个字串是否相同,相同为真

!=:判断两个字串是否不同,不同为真

<:判断前一个字串的排序是否在后一个字串前面,在前面则为真(ASCII码顺序)

Shell中的条件判断

>:判断前一个字串的排序是否在后一个字串后面,在后面则为真(ASCII码顺序)

Shell中的条件判断

3.数字判断符:

-eq:判断两个数字是否相等,相等则为真

-ne:判断两个数字书否不等,不等则为真

-le:前一个数字小于等于后一个数字,则为真

-ge:前一个数字大于等于后一个数字,则为真

-lt:前一个数字小于后一个数字,则为真

-gt:前一个数字大于后一个数字,则为真

Shell中的条件判断

4.[[]]和[]的区别:[[]]是一个关键字

在[]中"<"和">"需要转义,但在[[]]中不需要转义:

Shell中的条件判断

[[]]中可以使用=或者=~(正则匹配符号),在[]中不能使用。