Shell流程控制语句if

时间:2019-10-10
本文章向大家介绍Shell流程控制语句if,主要包括Shell流程控制语句if使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

(1).if语句

语法格式:

if 判断条件 ; then 
  命令
fi

或
if 判断条件
then
  命令
fi

if语句流程图:

  实例:判断命令是否执行成功,成功则输出语句This is ok.

[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt > /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.

(2).双分支if语句

语法格式:

if 判断条件 ; then
  命令1
else
  命令2
fi

双分支if语句流程图:

  实例:判断命令是否执行成功,成功则输出This is ok.,否则输出This is not ok.

[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi

ls /mnt/a.txt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.
This is not ok.

(3).多分支if语句

语法格式:

if 判断条件1 ; then
  命令1
elif 判断条件2 ; then
  命令2
elif 判断条件3 ; then
  命令3
......
else
    命令n
fi

多分支if语句流程图:

  实例:判断键盘输入的数字,如果等于零则输出0,如果大于0则输出“这是一个正数”,如果小于0则输出“这是一个负数”。

[root@youxi1 ~]# vim a.sh
#!/bin/bash
read -p "请输入一个数字:" num
if [ $num -eq 0 ] ; then
    echo $num
elif [ $num -gt 0 ] ; then
    echo "这是一个正数"
else
    echo "这是一个负数"
fi
[root@youxi1 ~]# sh a.sh
请输入一个数字:12
这是一个正数
[root@youxi1 ~]# sh a.sh
请输入一个数字:0
0
[root@youxi1 ~]# sh a.sh
请输入一个数字:-12
这是一个负数

  

原文地址:https://www.cnblogs.com/diantong/p/11646809.html