Linuxshell脚本(⼗⼆)case语句
case语句
case ... esac 与其他语⾔中的 switch ... case 语句类似,是⼀种多分枝选择结构。
case 语句匹配⼀个值或⼀个模式,如果匹配成功,执⾏相匹配的命令。case语句格式如下:
case 值in
模式1)
command1
command2
command3
;;
模式2)
command1
command2
command3
;;
*)
command1
command2
command3
;;
esac
case⼯作⽅式如上所⽰。取值后⾯必须为关键字 in,每⼀模式必须以右括号结束。取值可以为变量或原纱央莉资料
常数。匹配发现取值符合某⼀模式后,其间所有命令开始执⾏直⾄ ;;。;; 与其他语⾔中的 break 类似,意思是跳到整个 case 语句的最后。
取值将检测匹配的每⼀个模式。⼀旦模式匹配,则执⾏完匹配模式相应命令后不再继续其他模式。如果⽆⼀匹配模式,使⽤星号 * 捕获该值,再执⾏后⾯的命令。
下⾯的脚本提⽰输⼊1到4,与每⼀种模式进⾏匹配:
echo'Input a number:'
read Num
case $Num in
1) echo'You select 1'
曹云金吐槽大会;;
2) echo'You select 2'
;;
3) echo'You select 3'
医保缴费怎么交;;
4|5) echo'You select 4 or 5'
;;
*) echo'default'
;;
esac
输⼊不同的内容,会有不同的结果,例如:
Input a number:
3
You select 3
再举⼀个例⼦:
体育教师工作总结#!/bin/bash
option=$1
case ${option}in
-f) echo"param is -f"
;;
-d) echo"param is -d"
;;
*)
echo"$0:usage: [-f ] | [ -d ]"
exit1#退出码
;
;
esac
运⾏结果:
$./test.sh
test.sh: usage: [ -f filename ] | [ -d directory ] $ ./test.sh -f
高血压吃什么食物最好最佳param is -f
$ ./test.sh -d
黄山旅游景点param is -d
$
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论