条件测试类型:
整数比较
字符比较
文件测试
条件测试的表达式:
[ expression ]
[[ expression ]]
test expression
整数比较:
-eq:测试两个整数是否相等:比如[ $A -eq $B ]
-ne:测试两个整数是否不等:不等为真;否则,为假
-gt:是否大于
-lt:是否小于
-ge:是否大于等于
-le:是否小于等于
命令间的逻辑关系:
逻辑与: &&
逻辑或: ||
测试方法:
[]
[[]]
test
bash中常用的条件测试有三种:
整数测试:
-gt
-le
-ne
-eq
-ge
-lt
文件测试:
-e FILE:测试文件是否存在
-f FILE:测试文件是否为普通文件
-d FILE:测试指定路径是否为目录
-r FILE:测试当前用户对指定文件是否有读取权限
-w
-x
[ -e /etc/inittab ]
[ -x /etc/rc.d/rc.local ]
字符测试:
==:相等则为真,不等则为假
[[ $A == $B ]] 等号中间有空格
[[ ''$A" == "$B" ]]
[[ '$A' == '$B' ]]
!=:测试是否相等,不等为真,等为假
>
<
-n string:测试指定的字符串是否为空,空则真,不空则假
-z string:测试指定的字符是否不空,不空为真,空为假
组合条件测试:
-a:与关系
-o:或关系
!:非关系
if [ $# -gt 1 -a $# -le 3 ]
if [ $# -gt 1 ] && [ $# -le 3 ]