if的基本语法
if [ command ];then
符合该条件执行的语句
elif [ command ];then
符合该条件执行的语句
else
符合该条件执行的语句
fi
if的特殊用法
[ commend ] 里面的命令一定都需要空格分割开
(1)针对文件
- if [ -f file ] 如果文件存在
- if [ -e file ] 如果文件存在
- if [ -d … ] 如果目录存在
- if [ -s file ] 如果文件存在且非空
- if [ -r file ] 如果文件存在且可读
- if [ -w file ] 如果文件存在且可写
- if [ -x file ] 如果文件存在且可执行
(2)针对整数
- if [ int1 -eq int2 ] 如果int1等于int2
- if [ int1 -ne int2 ] 如果不等于
- if [ int1 -ge int2 ] 如果>=
- if [ int1 -gt int2 ] 如果>
- if [ int1 -le int2 ] 如果<=
- if [ int1 -lt int2 ] 如果<
(3)针对字符串
- If [ $a = $b ] 如果string1等于string2,字符串允许使用赋值号做等号
- if [$string1 != $string2 ] 如果string1不等于string2
- if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
多条件判断&&、||
&&:表示前一条命令执行成功,才执行后一条命令
||:表示上一条命令执行失败后,才执行下一条命令