Shell编程:case ... esac多分支选择编程
也多常用于菜单选择
语法:
case 值 in
模式1)
command1
command2
command3
;;
模式2)
command1
command2
command3
;;
*)
command1
command2
command3
;;
esac
说明: case后为取值,值后为关键字 in,接下来是匹配的各种模式,每一模式最后必须以右括号结束。
值可以为变量或常数。
模式支持正则表达式,可以用以下字符:
* 任意字串
? 任意字元
[abc] a, b, 或c三字元其中之一
[a-n] 从a到n的任一字元
| 多重选择
示例:
根据传递的第一个参数选择分支执行:
#!/bin/sh
case $1 in
start | begin)
echo "I am started!"
;;
stop | end)
echo "I am stopped!"
;;
*)
echo "Other command!"
;;
esac
执行根据传递的第一个参数:start begin stop hello分别执行的结果
$./test.sh start
I am started!
$./test.sh stop
I am stopped!
$./test.sh begin
I am started!
$/test.sh hello
Other command!
详细使用方法,可参考:https://www.cnblogs.com/waitig/archive/2016/09/13/5868332.html