使用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

原文地址:https://blog.51cto.com/14154700/2399883

时间: 2024-12-16 06:59:28

使用case语句编写一个系统服务脚本的相关文章

转:Shell 编程--本文结合大量实例阐述如何编写一个shell脚本

转自:情報官世界 本文结合大量实例阐述如何编写一个shell脚本. 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集,而且是一门非常棒的编程语言.您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性.可维护性和便携性比效率更重要的任务. 下面,让我们一起来看看shell是如何工作的: 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bas

编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略

简单摘要: 1.内网系统出现故障需要排查 2.运维人员不熟悉数据库操作,没法通过连接数据库和执行SQL语句的方式排查数据库及数据是否正常 3.解决方案:编写一个bat脚本,运维人员双击运行即可.   原文链接: http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=d861e977-87d1-4ac0-ab63-91dacb9ccc9e 背景说明: 车辆管理系统涉及2台服务器: 101:数据

工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话"Hello World!!"   2> 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息.当前使用的内核版本.当前系统的主机名 方案: 规范Shell脚本的一般组成: 1> #! 环境声明(Sha-Bang)    2> # 注释文本 

while循环 case语句 的一个脚本

小脚本: 执行效果 显示一个菜单 当输出菜单上给出的键后,执行相应的动作 即 当用户输出d 显示 show disk usages. 当然这也可以真的显示disk使用情况,只是加入的命令的不同,哈哈,,,这个是个人自己编写的,,看老师给出的题目. [[email protected] script]# cat choice.sh #!/bin/bash echo "(d|D) shwo disk usages." echo "(m|M) show memory usages.

用case语句建立一个shell(功能是打开,关闭,重置,显示虚拟机)

#!/bin/bash case "$1" in start)                   /*当关键字为start时,执行打开虚拟机$2的语句 echo start $2 ... virsh start $2 &> /dev/null ;; poweroff)              /*当关键字为poweroff时,执行强制关闭虚拟机$2的语句 echo poweroff $2 ... virsh destroy $2 &> /dev/null

Python编写一个Python脚本

我想要一个可以为我的所有重要文件创建备份的程序.(下面测试环境为python2.7) 1.backup_ver1.py #!/usr/bin/python import os import time # 1. The files and directories to be backed up are specified in a list. source = ['/home/esun'] # If you are using Windows, use source = [r'C:\Documen

Linux-expect脚本-编写一个expect脚本

1.声明expect #!/usr/bin/expect -f 2.设置超时时间,获取参数 set ip [lindex $argv 0 ] //接收第一个参数,并设置IP set password [lindex $argv 1 ] //接收第二个参数,并设置密码 set timeout 10 //设置超时时间,单位为秒 3.执行ssh命令 spawn ssh [email protected]$ip 4.终端输出包含字符串"password:",输入密码,记得加上\r expect

Shell基础(三):使用for循环结构、使用while循环结构、基于case分支编写脚本、使用Shell函数、中断及退出

一.使用for循环结构 目标: 本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下: 1> 对192.168.4.0/24网段执行ping检测      2> ping检测可参考前一天的pinghost.sh脚本      3> 脚本能遍历ping各主机,并反馈存活状态 执行检测脚本以后,反馈结果如下图所示. 方案: 在Shell脚本应用中,常见的for循环采用遍历式.列表式的执行流程,通过指定变量从值列表中循环赋值,每次复

[一] 编写第一个 Shell 脚本

什么是 Shell 脚本? 最简单的解释,一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. Shell 有些独特,因为它不仅是一个功能强大的命令行接口,也是一个脚本语言解释器.我们将会看到, 大多数能够在命令行中完成的任务也能够用脚本来实现,同样地,大多数能用脚本实现的操作也能够 在命令行中完成. 虽然我们已经介绍了许多 shell 功能,但只是集中于那些经常直接在命令行中使用的功能. She