case 命令作用:
case语句使用于需要进行多重分支的应用情况
case 命令使用场景
在shell中的case结构与C/C++中的switch结构是相同的.
它允许通过判断来选择代码块中多条路径中的一条或者多条. 它的作用和多个if/then/else语句的作用相同, 是它们的简化结构
case 命令语法
case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列 ;; esac
case语句结构特点如下: case行尾必须为变量 in 每个模式必须以右括号 ) 结束 双分号 ;; 表示命令序列结束 case语句结构特点如下: 匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。 最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。
例如:编写一个sh文件,sh文件内容如下(我这里定义的为test1.sh)
#!/bin/bash
case "$1" in "start") echo "begin start do someting" ;; "stop") echo "begin stop do someting" ;; "restart") echo "begin restart do someting" ;; *) ;; esac
上面的案例为,运行test1.sh文件时获取启动命令行的参数,如果参数值分别为start,stop, restart 时,根据参数不同输出不同的内容
运行如下命名
运行命令 :sh test1.sh start 运行结果为:begin start do someting
运行命令 :sh test1.sh stop 运行结果为:begin stop do someting
运行命令 :sh test1.sh restart 运行结果为:begin restart do someting
运行命令 :sh test1.sh hello 运行结果为: