分支选择
//case支持glob风格的通配符:
* //任意长度任意字符
? //任意单个字符
[] //指字范围内的任意单个字符
abc|bcd //abc或bcd
模板
[root@ansible ~]# cat httpd
#!/bin/bash
case $1 in
"hai")
echo "tom"
;;
"nihao")
echo "2020"
;;
*)
echo "Usage: service $0 hai|nihao"
;;
esac
[root@ansible ~]# ./httpd hai
tom
[root@ansible ~]# ./httpd nihao
2020
[root@ansible ~]# ./httpd hhjskshd
Usage: service ./httpd hai|nihao
[root@ansible ~]# cat httpd
#!/bin/bash
# chkcongfig: 30 70 第一个数启动的顺序,第二个数是结束的顺序,两个数字和为100
# description: 描述信息
case $1 in
"start")
/usr/sbin/httpd
;;
"stop")
/usr/sbin/httpd stop
;;
"restart")
/usr/sbin/httpd stop
/usr/sbin/httpd
;;
"status")
status=$(ps -ef|grep "httpd"|grep -Ev "grep|$0 status"|wc -l)
if [ $status -gt 0 ];then
echo "httpd is running."
else
echo "httpd is dead."
fi
;;
*)
echo "Usage: service $0 hai|nihao"
;;
esac
[root@ansible ~]# ./httpd start
httpd (pid 999) already running
- 要控制httpd服务得放到对应的位置里/etc/init.d/httpd
[root@ansible ~]# cp httpd /etc/init.d/httpd
[root@ansible ~]# service httpd status
httpd is running.