1.语法一:单if语句
适用范围:只需要一步判断,条件返回真干什么或者条件返回假干什么
语句格式
if [ condition ]   #condition值为true or false
   then
      commands
fi该语句翻译成汉语大意如下:
假如  条件为真
 那么
    执行commands代码块
结束演示:假如在tmp下没有abc这个文件夹,那么就创建一个,创建完成显示“OK”
#!/bin/bash
if [ ! -d tmp/abc ]
   then
      mkdir -v /tmp/abc
   echo "ok"
fi2.语法二:if-then-else语句
适用范围:两步判断,条件为真干什么,条件为假干什么
if [ condition ]
   then
       commands1
else
       commands2
fi该语句翻译成汉语大意如下:
假如条件为真
   那么
      执行commands1代码块
否则
      执行commands2代码块
结束演示:登陆用户是root,输出“hello,admin”;登陆是普通用户,输出“hello,guest”
#!/bin/bash
if [ $USER = 'root' ]
   then
       echo "hello,admin"
else
       echo "hello,guest"
fi3.语法三:if-then-elif语句
适用范围:多于两个以上的判断结果,也就是多于一个以上的判断条件
if [ condition1 ]
   then
       commands1
elif [ condition2 ]
   then
       commands2
......
else
       commandsx
fi该语句翻译成汉语大意如下:
假如  条件1  为真
   那么
      执行代码块1
假如  条件2  为真
   那么
      执行代码块2
   以此类推的N个条件以及对应执行代码块
否则  [以上所有条件中没有满足的]
      执行代码块x
结束演示:判断两个整数的关系
嵌套:
#!/bin/bash
if [ $1 -eq $2 ]
   then
      echo "$1 = $2"
else
   if [ $1 -gt $2 ]
      then
         echo "$1 > $2"
   else
         echo "$1 < $2"
   fi
fi
if多步运算判断:
#!/bin/bash
if [ $1 -gt $2 ]
   then
      echo "$1>$2"
elif [ $1 -eq $2 ]
   then
      echo "$1=$2"
else
      echo "$1<$2"
fi
4.fi高级应用
使用双小圆括号,可以植入数学表达式
#!/bin/bash
if (( 100%3+1>1 ));then
   echo "yse"
else
   echo "no"
fi                                                                              










