语法
if [ condition ]
then
command
fi
if [[ condition ]]
then
command
fi
if (( condition ))
then
command
fi
if test condition
then
command
fi
if command # 判断command的退出状态是否成功
then
command
fi
if [ condition ]
then
command
elif [ condition ]
then
command
else
command
fi
then和fi是分开的语句,如果要在同一行里面输入,则需要用分号将他们隔开
if [ condition ]; then
command
fi
注意事项
- 使用[ ]和[[ ]]每一项两边都要有空格,[[ 1 == 2 ]]的结果为"假",但[[ 1==2 ]]的结果为"真"!后一种显然是错的
- 判断是不支持浮点值的
- 空变量和没有初始化的变量可能会对shell脚本测试产生灾难性的影响,因此在不确定变量的内容的时候,在测试号前使用-n或者-z测试一下
- if检测的是命令的退出状态,按照惯例退出状态为0表示成功,除0以外的其它任何退出状态都为失败。这部分与我们所熟悉的其它编程语言正好相反,在shell if判断中true的值为0,false的值为非0