条件表达式章节
测试语句
判断条件是否成立
test 1 = 1
[ 1 = 1 ]
逻辑表达式
&& 命令1与命令2同向
命令1 && 命令2
当命令1执行成功之后,那么执行命令2
当命令1执行失败之后,那么也不执行命令2
|| 命令1与命令2异向
命令1 || 命令2
当命令1执行成功之后,那么不执行命令2
当命令1执行失败之后,那么执行命令2
文件表达式
-f #判断输入内容是否是一个文件
[ -f xxx.conf ] && echo "这是一个文件" #如果是一个文件则显示是一个文件
-d #判断输入内容是否是一个目录
[ -d xxx.conf ] || echo "这不是一个目录" #如果不是一个目录则显示不是一个目录
-x #判断输入内容是否有执行权限
[ -x test.sh ] || chmod +x test.sh #如果没有执行权限则加上执行权限
数值表达式
例:n1和n2都是代表数值(n1和n2还可以是变量)
n1 -eq n2 #相等-eq
n1 -gt n2 #大于-gt
n1 -lt n2 #小于-lt
n1 -ne n2 #不等于-ne
格式实例:
[ 2 -eq 1 ] echo $? 返回值为非0
[ 2 -eq 2 ] echo $? 返回值为0
字符串表达式 #可以匹配字符串内容和变量内容
例:字符串内容匹配
== 相同
!= 不相同
[ aaa == bbb ] echo $? 返回值为非0
[ aaa != bbb ] echo $? 返回值为0
例:变量内容匹配
j=jjj
k=jjj1
[ $j == $k ] echo $? 返回值为非0
[ $j != $k ] echo $? 返回值为0
if [ -n $variable ];then
echo 变量字符长度不为空
fi
if [ -z $variable ];then
echo 变量字符长度为空
fi