单分支结构
第一种语法
if <条件表达式>
then
指令
fi
第二种语法
if <条件表达式>;then
指令
fi
上文的"<条件表达式>"部分可以时test、[]、[[]]、(())等条件表达式,甚至可以直接使用命令作为条件表达式。每个if语句都以if开头,并带有then,最后以fi结束
第二种语法中分号相当于命令换行,含义医院
当if后面的<条件表达式>成真时,就会执行then后面的指令或语句;否则,就会忽略then后面的指令或语句,转而执行fi下面的程序
条件语句还可以嵌套(就是if语句里面还有if条件语句)如下面语法示例:
if <条件表达式>
then
if <条件表达式>
then
指令
fi
fi
2)双分支结构
if <条件表达式>
then
指令集1
else
指令集2
fi
测试条件表达式 [ -f "$file1" ] && echo 1 || echo 0 相当于下面:
if [ -f "$file1" ]
then
echo 1
else
echo 0
fi
3)多分支结构
if <条件表达式1>
then
指令1
elif <条件表达式2>
then
指令2
else
指令3
fi
注意:每个elif都必须带then,else没有then
4)条件表达式 test、[]、[[]]、(())等条件表达式语法
test条件表达式
if test
then
指令
fi
[]条件表达式
if [ 字符串或算术表达式 ]
then
指令
fi
[[]]条件表达式
if [[ 字符串表达式 ]]
then
指令
fi
(())条件表达式
if (( 算术表达式 ))
then
指令
fi
命令表达式
if 命令
then
指令
fi