1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Linux】shell脚本实战-if多分支条件语句详解

【Linux】shell脚本实战-if多分支条件语句详解

时间:2019-08-12 08:22:56

相关推荐

【Linux】shell脚本实战-if多分支条件语句详解

文章目录

前言多分支语句的语法多分支语句举例:1. 出嫁的条件2. 管理http服务实战脚本3. 猜数字游戏v1版本-if版本总结

前言

前面我们已经学习过单分支语句和双分支语句的使用。 双分支语句就是在单分支语句的基础上又加了一层结果项。

今天我们来探讨下多分支语句,顾名思义,多分支语句就是在双分支语句基础上又加了一个可能性的结果

如果你还没有学习单双分支条件语句,建议参考下方链接学习:

【Linux】shell脚本实战-if单双分支条件语句详解

多分支语句的语法

语法结构:

if条件测试操作1 ; thencommandselif 条件测试操作2 ; thencommandselif 条件测试操作3 ; thencommands.......elsecommandsfi

举例:

if [ 你有钱 ]then我就嫁给你elif [ 家庭有背景 ]then也嫁给你elif [ 有权 ]then也嫁给你else我考虑下fi

多分支语句的图示:

多分支语句举例:

1. 出嫁的条件

[root@ecs-c13b ~]# cat ifdtest1 #!/bin/bashread -p "请输入你有多少钱: " moneyread -p "请输入你有几套房子: " housesif [ $money -ge 1000000 ] ### ge 表示大于thenecho "我就嫁给你"elif [ $houses -ge 3 ]thenecho "我也嫁给你"elseecho "我考虑下"fi

返回结果:

[root@ecs-c13b ~]# bash ifdtest1 请输入你有多少钱: 100000请输入你有几套房子: 5我也嫁给你

2. 管理http服务实战脚本

[root@ecs-c13b html]# cat httpdcheck.sh #!/bin/bashss -lntp |grep httpd &> /dev/nullif [ $? -eq 0 ];thenecho "httpd is running"elif [ -f /usr/local/apache/bin/apachectl -a -x /usr/local/apache/bin/apachectl ]### 查看文件是否存在且是否有可执行权限then/usr/local/apache/bin/apachectl start#### 如果有可执行权限,且存在,就执行脚本启动elseecho "没有httpd的启动脚本"fi

返回结果:

[root@ecs-c13b html]# bash httpdcheck.sh AH00558: httpd: Could not reliably determine the server's fully qualified domain name, usingrName' directive globally to suppress this message[root@ecs-c13b html]# lsof -i:80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 31393 root 4u IPv6 3630120t0 TCP *:http (LISTEN)httpd 31394 daemon 4u IPv6 3630120t0 TCP *:http (LISTEN)httpd 31395 daemon 4u IPv6 3630120t0 TCP *:http (LISTEN)httpd 31399 daemon 4u IPv6 3630120t0 TCP *:http (LISTEN)[root@ecs-c13b html]# bash httpdcheck.sh httpd is running

3. 猜数字游戏v1版本-if版本

#!/bin/bashNO=20read -p "input your num: " numif [ $NO -gt $num ]; then ### 判断输入的数字和原始数字的大小,gt表示大于echo "你猜测的太小了"elif [ $NO -lt $num ]; then ####判断输入的数字和原始数字的大小,lt表示小于echo "你猜测的太大了"else echo "恭喜你猜对了"fi

返回结果:

[root@ecs-c13b html]# vim guess.sh\[root@ecs-c13b html]# bash guess.sh input your num: 33你猜测的太大了[root@ecs-c13b html]# bash guess.sh input your num: 1你猜测的太小了[root@ecs-c13b html]# bash guess.sh input your num: 20恭喜你猜对了

总结

多条件语句相对单双条件语句来说,稍微困难一些,但只要稍加练习就可以熟练。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。