比较
数值比较
-eq:相等
-ge:大于等于
-gt:大于
-le:小于等于
-lt:小于
-ne:不等于
字符比较
=:等于
!=:不等
>:大于
<:小于
-n:长度是否非0
-z:长度是否为0
文件比较
-d:文件是否存在且是个目录
-e:是否存在
-f:是否存在且是文件
-r:是否存在且可读
-s:是否存在且非空
-w:是否存在且可写
-x:是否存在且可执行
-0:是否存在且属于当前用户
-G:是否存在且其所在组和当前用户相同
-nt:检验file1是否比file2新
-ot:检验file1是否比file2旧
if
if条件结构
if [ condition ] ; then
...
elif [ condition ] ; then
...
elif [ condition ] ; then
...
else
...
fi
# demo
if [[ "$app" = "" || "$branch" = "" || "$branch_ref" = "" ]];then
fi
case条件结构
case var in
"pattern1")
command1;;
"pattern2")
command2;;
*)
command3;;
esac
while循环结构
while [ condition ]
do
expression
done
until循环结构
until [condition]
do
expression
done
for循环结构
for var in con1 con2 ...
do
expression
done
其它控制结构
<command_1> || <command_2>:或,command_1成功则跳过command_2,失败则执行command_2
<command_1> && <command_2>:与,command_1成功则执行command_2,失败则跳过
break n:跳出n层循环
continue n:继续n层循环