【Shell】【学习笔记】Linux Shell脚本应用(九)

课时9 使用case分支

一、case语句结构
语法格式:
case 变量值  in
模式1)
        命令序列1
         ;;
模式2)
        命令序列2
         ;;
......
*)
        默认命令序列
esac

二、基本用法示范
示例1:识别用户击键类
[ root@localhost ~]# cat hitkey.sh
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z] | [A-Z])
        echo "您输入的是 字母"
        ;;
[0-9])
        echo "您输入的是 数字"
        ;;
*)
        echo "您输入的是 空格、功能键或其他控制字符"
        ;;
esac
[ root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:h
您输入的是 字母
[ root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:8
您输入的是 数字
[ root@localhost ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:'[[10'
您输入的是 空格、功能键或其他控制字符

三、案例实战
案例实战一:编写服务脚本 sleepd
        1、能够响应start、stop控制参数
        2、将服务交给chkconfig进行处理
              步骤一:在脚本开头设置chkconfig参数
              步骤二:添加为系统服务
[ root@localhost ~]# cat /etc/init.d/sleepd
#!/bin/bash
# chkconfig - 90 10
# description Deamon script for sleepd Server
case "$1" in
start)
        sleep 3600 &
        ;;
stop)
        pkill -x "sleep"
        ;;
*)
        echo "用法:$0 [ start | stop ]"
        ;;
esac
[ root@localhost ~]#  /etc/init.d/sleepd start
[ root@localhost ~]# pgrep -lx "sleep"
28381 sleep
[ root@localhost ~]#  /etc/init.d/sleepd stop
[ root@localhost ~]#  pgrep -lx "sleep"
[ root@localhost ~]#  /etc/init.d/ sleepd   status
用法: /etc/init.d/ sleepd  [ start | stop ]
[ root@localhost ~]# chkconfig --add sleepd
[ root@localhost ~]# 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值