結構化命令case、for、while迴圈
阿新 • • 發佈:2020-07-17
流程控制語句case
用來實現對程式流程的選擇、迴圈、轉向和返回等進行控制。
根據變數的不同取值進行比較從而分別執行不同命令操作
適用於多分支,是一個多選擇語句
case變數或表示式in
變數或表示式1)
命令序列1
;;
變數或表示式2)
命令序列2
;;
……
*)
預設命令序列
esac
舉例
[root@tzPC ~]# cat case1.sh #!/bin/bash cat <<eof *************** * 1. backup * * 2. copy * * 3. quit * *************** eof read-p "Input a choose:" OP case $OP in 1|backup) echo "BACKUP..." ;; 2|copy) echo "COPY..." ;; 3|quit) exit ;; *) echo "error" esac
exit 後邊寫返回值,預設是0,可以通過$?取得。
舉例2:編寫一個啟動apache服務指令碼
安裝httpd服務
yum -y install httpd
指令碼
[root@tzPC ~]# cat case2.sh #!/bin/bash case $1 in start) systemctl $1 httpd ps aux|grep httpd ;; stop) systemctl $1 httpd ps aux|grep httpd ;; status) systemctl $1 httpd ps aux|grep httpd ;; restart) systemctl $1 httpd ps aux|grep httpd ;; *) echo "USAGE: $0 start|stop|restart" esac