linux搜索case,Linux中CASE函数完成功能选择脚本

今天看了别人用case函数写的shell脚本,远程到系统内的服务器执行检查指令,每一个选项对应一个功能,提供选择界面来选择不同的功能。于是笔者将以前看到过的有case函数的shell脚本重新翻出来整理一下一起分享,特别是/etc/init.d目录下来的脚本服务,可以通过service dump start/stop/restart来完成服务的启停,当然也可以参考mysql、network等等的脚本。

1、CASE简单使用

下面的为test.sh脚本,执行./test.sh start就会执行脚本里面的start函数,$1是读取后面的第一个参数。 每个模式必须以右括号 ) 结束,双分号 ;; 表示命令序列结束。“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。#!/bin/bash

case "$1" in

start)

echo "begin start do someting"

;;

stop)

echo "begin stop do someting"

;;

restart)

echo "begin restart do someting"

;;

*)

;;

esac

2、Service服务中的CASE

脚本做成服务放置在/etc/init.d目录下,可以参考笔者以前的文章——linux中/etc/init.d设置开机启动。dump服务,脚本把进程包装成了一个服务, 定义了它在启动、 重启和终止时的具体行为。这个脚笔者觉得很典型值得借鉴,同时执行exit可使shell以指定的状态值退出,状态值0代表执行成功,其他值代表执行失败。case "$1" in

start)

start

exit 0

;;

stop)

stop

exit 0

;;

reload|restart|force-reload)

stop

start

exit 0

;;

**)

echo "Usage: $0 {start|stop|reload}" 1>&2

exit 1

;;

esac

3、CASE与WHILE 结合完成选择功能#!/bin/bash

your_choice(){

case "$1" in

1)

echo "begin start do someting"

;;

2)

echo "begin stop do someting"

;;

3)

echo "begin restart do someting"

;;

4)

echo "bye"

exit 0

;;

*)

echo "wrong chioce"

;;

esac

}

while true

do

cat <

***********************************

1、start

2、stop

3、restart

4、exit

***********************************

EOF

read -p "please enter your choice:" choice

your_choice $choice

done

read -p 后面跟提示信息,即在输入前打印提示信息。-n 后跟一个数字,定义输入文本的长度,比如这里可以写成read -n1 "please enter your choice:" choice,这样输入选择的一个字符后就可以不需要按enter键。输入的字符数目达到预定数目1时,自动退出,并将输入的数据赋值给变量choice。

cat <

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值