七、Shell条件语句之if语句基础

if条件语句的语法

1、单分支if语句

语法格式

第一种语法格式:
if <条件表达式>
   then
     命令1
     命令2
     命令3
     。。。
fi

第二种语法格式:
if <条件表达式> ;then
     命令1
     命令2
     命令3
     。。。
fi

如果条件表达式为真,则执行下面的命令集;否则就什么也不做。

if单分支的逻辑结构图

案例

如果/tmp/ywx.log存在就输出1
if [-f /tmp/ywx/log ];then
   echo 1
fi

2、条件语句还可以嵌套(即if条件语句里面还有if条件语句)

语法结构

 
if <条件表达式1>;then
  if <条件表达式2>;then
     命令1
     命令2
     命令3
     。。。
   fi
fi

if单分支嵌套逻辑图

案例

如果/tmp/ywx.log存在,且有读权限,则输出1
if [ -f /tmp/ywx.log ];then
   if [ -r /tmp/ywx.log ];then
      echo 1
   fi
fi

3、if双分支语句

语法结构

 
if <条件表达式>;then
   命令1
   命令2
   。。。
else
   命令3
   命令4
   。。。
fi

逻辑结构图

案例:

如果/tmp/ywx.log存在就输出1,否则就输出2
if [ -f /tmp/ywx.log ]; then
   echo 1
else
   echo 2
fi

4、if多分支语句

语法结构

if <条件表达式1>; then
   命令集1
elif <条件表达式2>; then
   命令集2
elif <条件表达式3>; then
   命令集3
。。。。。。
else 
    命令集4
fi 

逻辑结构图

案例

输入一个数字,>90,显示very good!;80-90,显示good!;60-80,显示ok!;<60,显示so sorry!
read "Please input number:" num
if [ $num -gt 90 ];then
   echo "very good!"
elif [ $num -ge 80 -a $num -le 90 ];then
   echo "good!"
elif [ $num -ge 60 -a $num -lt 80 ];then
   echo "ok!"
else
   echo "so sorry!"
fi
I have a dream so I study hard!!!
原文地址:https://www.cnblogs.com/yaokaka/p/13785950.html