case 语句
case 语句的结构如下:
多分支结构
case condition in
pattern1)
statements1
;;
pattern2)
statements2
;;
..........
patternN)
statementsN
;;
esac
case 语句使用举例
下面举几个使用 case 语句的例子:
例1:
#!/bin/bash
# filename: switch-lang.sh
# usage: . ./switch-lang.sh
cat <<EOF
Please choice a locale:
1) -- en_US.utf8
2) -- en_US.iso88591
3) -- zh_CN.gb18030
4) -- zh_CN.utf8
EOF
read choice
case $choice in
1)
export LANG="en_US.utf8"
;;
2)
export LANG="en_US.iso88591"
;;
3)
export LANG="zh_CN.gb18030"
;;
4)
export LANG="zh_CN.utf8"
;;
*)
echo Select error.
;;
esac
例2:
#!/bin/bash
# filename: switch-lang2.sh
# switch-lang.sh 的命令行参数版
case $1 in
# 在 pattern 部分可以使用 | 分割多个匹配项目
1|eu) export LANG="en_US.utf8" ;;
2|e) export LANG="en_US.iso88591" ;;
3|c) export LANG="zh_CN.gb18030" ;;
4|cu) export LANG="zh_CN.utf8" ;;
*) echo "Usage : . $0 <1|2|3|4|e|eu|c|cu>" ;;
esac