引言
select以及case组合使用类似于程序中的switch-case。shell脚本中需要做一些选择,例如软件安装过程中需要是否安装一些功能
标准格式
- select的使用标准格式为
select 变量名 in 列表
do
break
done
- case的标准用法
case $变量名 in
变量名)
执行语句
;;
变量名)
执行语句
;;
*)
默认命令
esac
case语句结构特点如下:
- case行尾必须为单词 in 每个模式必须以右括号 ) 结束
- 双分号 ;; 表示命令序列结束
- 匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或最后的“)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“)”后的命令序列。
示例
- 提示表单
#!/bin/bash
PS3='please select the system:'
echo
select i in "windows" "ubuntu" "centos"
do
case $i in
windows)
echo "you select the windows"
;;
ubuntu)
echo "you select the ubuntu"
;;
*)
echo "you need help"
;;
esac
break
done
运行结果为:
其中PS3为默认提示字符