使用case语句编写一个系统服务脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用case语句编写一个系统服务脚本相关的知识,希望对你有一定的参考价值。

case语句执行流程:
技术图片
case语句可以很好的代替if语句中的多分支结构,使用case分支语句时,有几个值得注意的特点如下所述:

  • case行尾必须是单词“in”,每一模式必须以右括号“)”结束;
  • 双分号“;;”表示命令序列的结束;
  • 模式字符串,可以用方括号表示一个连续的范围,如"[0-9]",还可以使用竖杠“|”表示或,如“A|B”。
  • 最后的“ *) ”表示默认模式,其中的*表示通配符。

来,用case语法写一个系统服务脚本:

下面的sleep命令用来暂停指定描述的时间,可根据自己需要改为相应后台服务的控制命令序列。

[[email protected] ~]# vim myprog
#!/bin/bash
case "$1" in
start)
        echo -n "正在启动sleep服务..."
if
         sleep 7200 &
then
        echo "OK"
fi
;;
stop)
        echo -n "正在停止sellp服务。。。"
        pkill "sleep" &> /dev/null
        echo "OK"
;;
status)
if 
        pgrep "sleep" &> /dev/null
then
        echo "sleep服务已经启动。"
else
        echo "sleep服务已经停止。"
fi
;;
restart)
$0 stop
$0 start
;;
\*)
echo "用法:$0 { start | stop | status | restart }"
esac

#保存退出,测试脚本:

[[email protected] ~]# chmod 744 myprog
[[email protected] ~]# ./myprog.sh stop
正在停止sellp服务。。。OK
[[email protected] ~]# ./myprog status
sleep服务已经启动。
[[email protected] ~]# ./myprog start
正在启动sleep服务...OK

以上是关于使用case语句编写一个系统服务脚本的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Shell脚本中for循环while循环及case分支语句

Shell脚本之forwhile循环语句和case分支语句

shell脚本—— case语句+函数

Shell脚本条件测试if语句case语句!

编写一个shall脚本,采用case语句,自动解压“.tar.gz”或“.tar.bz2”格式文件

Linux系统shell脚本基础之case判断语句