case分支语句的格式如下:
case $变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认执行的命令序列
;;
esac
格式说明:
1、 case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。
2、 双分号“;;”表示命令序列结束。
3、匹配模式中可使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
4、最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。
5、case 打头,esac 结尾(可发现 case与esac是对称的)。
示例:
新建文件test,内容如下:
#!/bin/bash case $1 in start|begin) echo "start something" echo "启动。。。" ;; stop|end) echo "stop something" echo "停止。。。" ;; *) echo "Ignorant" echo "未知的输入:"$1 ;; esac
执行测试:
root@bosh:# ./test Ignorant 未知的输入: root@bosh:# ./test aa Ignorant 未知的输入:aa root@bosh:# ./test start start something 启动。。。 root@bosh:# ./test stop stop something 停止。。。