shell中使用判断有 文件类型的判断,字符串类型的判断,整数类型的判断,逻辑类型的判断。
文件类型的判断
测试操作符 |
英文 |
说明 |
-d |
directoryo |
文件存在且为目录为真 |
-f |
file |
文件存在且为普通文件为真 |
-e |
exist |
文件存在为真(无论它是文件还是目录) |
-r |
read |
文件存在且当前用户可读(root可能特殊) |
-w |
writeo |
文件存在且当前用户可写(root可能特殊) |
-X |
executableo |
文件存在且当前用户可执行(root可能特殊) |
-S |
size |
文件存在且文件不为0为真 |
-L |
linxe |
文件存在且为链接为真 |
f1 -nt f2 |
newer thane |
文件f1比f新则为真,根据文件的修改时间 |
f1-ot f2 |
older thano |
文件f1比f旧则为真,根据文件的修改时间 |
字符串的判断
字符操作符 |
说明 |
-n "字符串" |
若字符串的长度不为0,则为真 |
-z"字符串" |
若字符串的长度为0,则为真 |
"字符串1" "字符串2" |
若字符串1等于字符串2,则为真 (两个等号) |
"字符串1" = "字符串2" |
若字符串1不等于字符串⒉则为真 |
整数的比较操作符
在[]以及test中使用的比较符号 |
在(())和[[]]中使用的比较符号 |
说明 |
-eq |
|
相等 |
-ne |
!= |
不等 |
-gt |
> |
大于 |
-ge |
>= |
大于等于 |
-lto |
< |
小于 |
-le |
<= |
小于等于 |
逻辑操作符
测试表达式test、[]、[[]]、(())的区别
https://www.cnblogs.com/ExzaiTin/p/7994143.html