【Linux】shell腳本實戰-if多分支條件語句詳解

文章目錄
html

    • 1. 出嫁的條件
    • 2. 管理http服務實戰腳本
    • 3. 猜數字遊戲v1版本-if版本
    • 前言
    • 多分支語句的語法
    • 多分支語句舉例:
    • 總結


前言

前面咱們已經學習過單分支語句和雙分支語句的使用。 雙分支語句就是在單分支語句的基礎上又加了一層結果項。
今天咱們來探討下多分支語句,顧名思義,多分支語句就是在雙分支語句基礎上又加了一個可能性的結果
若是你尚未學習單雙分支條件語句,建議參考下方連接學習:shell

【Linux】shell腳本實戰-if單雙分支條件語句詳解apache

多分支語句的語法

語法結構:vim

if條件測試操做1 ; then
		commandselif  條件測試操做2  ; then
		commandselif 條件測試操做3 ; then
		commands.......else
		commandsfi

舉例:bash

if [ 你有錢 ]
  then 我就嫁給你elif [ 家庭有背景 ]
  then 也嫁給你elif [ 有權 ]
  then 也嫁給你else 我考慮下fi

多分支語句的圖示:
在這裏插入圖片描述dom

多分支語句舉例:

1. 出嫁的條件
[root@ecs-c13b ~]# cat ifdtest1 #!/bin/bashread -p "請輸入你有多少錢: " moneyread -p "請輸入你有幾套房子: " housesif [ $money -ge 1000000 ]   ### ge 表示大於
  then echo "我就嫁給你"elif [ $houses -ge 3 ]
  then echo "我也嫁給你"else echo "我考慮下"fi

返回結果:ide

[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#### 若是有可執行權限,且存在,就執行腳本啓動else
  echo "沒有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 NAME
httpd   31393   root    4u  IPv6 363012      0t0  TCP *:http (LISTEN)httpd   31394 daemon    4u  IPv6 363012      0t0  TCP *:http (LISTEN)httpd   31395 daemon    4u  IPv6 363012      0t0  TCP *:http (LISTEN)httpd   31399 daemon    4u  IPv6 363012      0t0  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
恭喜你猜對了

總結

多條件語句相對單雙條件語句來講,稍微困難一些,但只要稍加練習就能夠熟練。this

相關文章
相關標籤/搜索