我们平常写其他编程语言也是这样循环 也就for while 循环
case其实更想一个条件选择
没有case我们只用if的话显得特别的笨重
case 的基础知识
其实case是根据给定的变量值来选择匹配的条件去,然后执行该条件下的相应程序(在这里可以理解为我们所写的命令)
它的语法为:
case '变量' in
模式1)
命令1
;;
模式2)
命令2
;;
...
...
模式n)
命令n
;;
默认命令
exit 1
;;
esac
case实例
先写一个小的案例 用来判断我们从键盘敲得key的类型
代码如下
#!/bin/bash
read -p "请输入一个KEY" KEY
case $KEY in
[a-z]|[A=Z])
echo "你输入的是一个字母"
;;
[0-9])
echo "你输入的是一个数字"
;;
*)
echo "你输入的不是数字也不知字母"
exit 1
;;
esac
运行结果
案例2
我们写一个小案例 其中包含了位置参数变量
位置参数变量:就是在终端命令执行该脚本的参数信息 。
例如:./test.sh 12 33
现在我们写一个简单的
代码如下:
#!/bin/bash
case $1 in
start)
echo "脚本参数命令指示正在开始...."
;;
stop)
echo "脚本参数命令指示正在停止...."
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage:$0{start|stop|restart}"
exit 1
;;
esaic
运行结果如下