shell中的判断使用总结

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