文章目錄
html
前面咱們已經學習過單分支語句和雙分支語句的使用。 雙分支語句就是在單分支語句的基礎上又加了一層結果項。
今天咱們來探討下多分支語句,顧名思義,多分支語句就是在雙分支語句基礎上又加了一個可能性的結果
若是你尚未學習單雙分支條件語句,建議參考下方連接學習: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
[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 我也嫁給你
[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
#!/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