流程控制语句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
原文:https://www.cnblogs.com/tz90/p/13328551.html