条件测试
格式:test 条件表达式
[ 条件表达式 ]
test常用的操作符:
-e :测试文件或者目录是否存在
-d :测试是否为目录
-f :测试是否为文件
-r :测试当前用户是否具有读权限
-w :写
-x :执行
test比较字符串
比较符号:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
只能用于比较整数,不能用于字符串。
== 等于
=!不等于 > 大于 < 小于 <= 小于等于 >=大于等于
[ ]也是条件表达式
与[]相比[[ ]]功能更强大,避免一些歧义
[[]]语法和[ ]一致 并且支持正则表达式
-z:检查字符串是否为空
逻辑测试:
且:条件测试的条件两边都要为真 -a &&
或:有一边满足即可 -o ||
!:逻辑否
[ 表达式1 ] 操作符 [ 表达式2 ]
只能用 $$ ||
[[ ]]只能用$$ || 表示逻辑且和逻辑或
[ ]只能用-a 或者-o
if语句的格式
if [ ]
then
命令序列
fi
双分支
if [ ]
then
命令序列
else
命令序列
fi
多分枝:
if [ ]
then
命令序列
elif [ ]
then
命令序列
else
命令序列
fi
if嵌套
bash -x 脚本名称 判断是否有语法逻辑错误
case语句: