一、这节课掌握如下几个知识点
【1】掌握case的写法及使用场景
二、通过代码讲解
该部分主要通过两种场景来讲解case的用法、场景一主要用在启动脚步、或者是一些工具类的脚本,场景二是针对一些网段、不同的字符串判断的情况进行处理。
场景一 执行:bash 3.sh init。通过传递不同的参数执行不同的函数
#!/bin/bash
#3.sh v1
#create by maoge
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH
InitFunc(){
echo "Run init"
}
StartFunc(){
echo "Run Start"
}
StopFunc(){
echo "Run Stop"
}
DefaultFunc(){
echo "Run Default"
}
case $1 in
init)
InitFunc;; #
start)
StartFunc;;
stop)
StopFunc;;
*)
DefaultFunc;;
esac
场景二,修改代码中的不同IP网段,然后通过读取不同的IP,判断所属的机房。执行:bash 3.1.sh
#!/bin/bash
#3.1.sh v1
#create by maoge
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH
serverIp=$(ifconfig | awk '/inet /{sub(/addr:/,"",$2);print $2}'|grep -v "127.0.0.1"|head -1) #读取本机IP
case $serverIp in
192.168.11.*) #判断IP是否属于11网段
echo "电信机房"
;;
192.168.23[0-1].*|192.168.22[8-9].*)
idc="联通机房"
;;
*)
echo "Unknown idc" #其他情况下就输出unknown idc,然后退出。
exit 1
;;
esac