case的格式
- case 值 in
- 模式1)
- 命令1
- ;;
- 模式2)
- 命令2
- ;;
- esac
case取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至;;。模式匹配符*表示任意字符,?表示任意单字符,[..]表示类或范围中任意字符。
例子如下:
- #!/bin/bash
- echo -n "Please input number between 1 to 3 or a to c:"
- read number
- case $number in
- 1)
- echo "your choice is $number"
- ;;//看到了每行后面都要有两个分号做为结束
- 2)
- echo "your choice is $number"
- ;;
- 3)
- echo "your choice is $number"
- ;;
- a)
- echo "$[1+2]"//进行和的运算
- ;;
- ?)//表示任意单个字符
- echo "your input is single $number"
- ;;
- *)//表示任意多个字符
- echo "your choice are $number,'basename $0':This is not between 1 to 3 or a to c"
- exit
- ;;
- esac//要请注意这个结束符和if的一样,要反写
就这些吧,这些例子足以说明case的用法了。
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/424961,如需转载请自行联系原作者