在bash中进行条件测试时,我们可以使用三种主要的测试表达式:
整数测试
这些测试命令用于比较整数值:
- -eq:测试两个整数是否相等,格式为[ $A -eq $B ]
- -ne:测试两个整数不等,格式为[ $A -ne $B ]
- -gt:测试一个数是否大于另一个数,格式为[ $A -gt $B ]
- -lt:测试一个数是否小于另一个数,格式为[ $A -lt $B ]
- -ge:测试一个数是否大于等于另一个数,格式为[ $A -ge $B ]
- -le:测试一个数是否小于等于另一个数,格式为[ $A -le $B ]
文件测试
这些测试命令用于检查文件的存在性和类型:
- -e:检查文件是否存在,格式为[-e /etc/inittab]
- -f:检查文件是否为普通文件,格式为[-f /path/to/file]
- -d:检查路径是否指向一个目录,格式为[-d /path/to/dir]
- -r、-w、-x:分别测试文件的读、写、执行权限,格式为[-x /etc/rc.d/rc.sysinit]
字符串测试
这些测试命令用于比较字符串内容:
- -eq:测试两个字符串是否相等,格式为[ "$A" -eq "$B" ]
- -ne:测试两个字符串是否不等,格式为[ "$A" -ne "$B" ]
- > 和 <:比较字符串的大小,格式为[ "$A" > "$B" ] 或 [ "$A" < "$B" ]
- -n:测试字符串是否非空,格式为[-n "$string" ]
- -z:测试字符串是否为空,格式为[-z "$string" ]
这些测试命令在shell脚本中非常实用,可以帮助我们更方便地进行条件判断和流程控制。