条件测试操作和条件测试语句:
$?:条件判断,失败或者成功,真或者假 true false
shell脚本:0为真,true 所有非0的都是假,执行失败
条件测试的命令:
格式一:
test 操作符 条件表达式
-e exist 测试目录或者测试文件是否存在gt
-d 测试是否为目录
-f 测试是否是文件
-r 测试当前用户是否有读的权限
-w 测试当前用户是否有写的权限
-x 测试当前用户是否有执行权限1
test也可以进行数值和字符串比较
字符串比较,比较内容是否一致
常用的比较符:
注意:一下的比较符只能用于比较整数
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
第二个写法
== != > < >= <=
第二种格式:
[ 条件表达式 ]
第三种方式:
[[ 条件表达式 ]]双中括号的写法比[]的功能更加强大。可以避免歧义。而且双中括号可以支持正则表达式
逻辑测试的表达语句:-a或者&& 逻辑且 前后的条件都要成立
-o或者|| 逻辑或,前后条件成立一个即可
! 逻辑非 取反
双中括号只能使用符号不能使用字母
if语句:
单分支结构:
if [ 条件测试语句 ]
then
命令序列
fi
双分支结构:
if [ 条件测试语句 ]
then
命令序列
else
命令序列
fi
多分支:
if[条件表达式]
then
命令序列
elif[条件表达式]
then
命令序列
else
命令序列
fi
嵌套语句
if[]
if[]
case语句:
case变量值 in
模式1)
命令序列
;;
模式2)
命令序列
;;
*)
命令序列
esac