基本语法:
(1)单分支
if [ condition ];then
# if body
fi
或
if [ condition ]
then
# if body
fi
(2)多分支
if [ condition ]; then
# if body
elif [ condition ]; then
# else if body
else
# else body
fi
注意事项:
- 以 if 开始 fi 结尾,当then和if在同一行的时候需要使用“;”分号;不在同一行时,可直接输入。
- 在 '[' 后面和 ']' 前面都必须要有空格
- 对于变量的处理,需要加引号,以避免不必要的错误。没有加双引号会在一些含空格等的字符串变量判断的时候产生错误。比如[ -n "$var" ],如果var为空会出错。
- 不支持浮点数的判断
- 未定义的变量,在使用-z或者-n来检查长度时,值也为0
- 空变量和未初始化的变量,在执行shell脚本时会出现意外报错,在使用前用-n或者-z进行判断。
- $? 上一条命令执行的退出状态,可以用来作为判断。