Shell流程控制语句if
Posted 苦逼运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 这是一个负数
以上是关于Shell流程控制语句if的主要内容,如果未能解决你的问题,请参考以下文章