码迷,mamicode.com
首页 > 系统相关 > 详细

Shell流程控制语句if

时间:2019-10-10 14:14:21      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:sharp   shell流程控制   实例   判断   个数   arp   命令   root   class   

(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
这是一个负数

  

Shell流程控制语句if

标签:sharp   shell流程控制   实例   判断   个数   arp   命令   root   class   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!