>条件测试:test或 [ ] 需注意返回状态码如果为真则返回0,为假则返回1
eg: #! /bin/bash #! /bin/bash
val=10 [ $val -gt 9 ]
test $val -gt 9 echo $?
echo $?
测试命令:
[ -d DIR ] :如果DIR存在并且是个目录则为真
[ -f FILE ]:如果FILE存在并且是一个普通文件则为真
[ -z STRING ]:如果STRING长度为0则为真
[ -n STRING ]:如果STRING长度非0则为真
[ STRING1 = STRING2 ]:STRING1等于STRING2则为真
[ STRING1 != STRING2 ]:STRING1不等于STRING2则为真
[ !EXPR ]:EXPR可以表示上述任意一种测试条件,表示逻辑取反
[ EXPR1 -a EXPR2 ]:表示逻辑与
[ EXPR1 -o EXPR2 ]:表示逻辑或
>if/then/elif/else/if
如果两条命令在同一行就需要用 ;隔开
if [ -d /bin ];then
echo "bin is a dir"
fi