select语法格式:
select name [in list]
do
statements that can use $name...
done
- 将list中的内容以菜单的形式列出;提示进行选择,提示的内容为$PS3值。
- 将选择的内容放到name中;
- 选择的序号在$REPLY中;
- 通过break可以退出select;
- select在处理完一次选择之后,如果没有break,会继续提示进行选择,类似一个无限循环。
例子
#!/bin/bash
PS3="选择一个数字?"
select sel in "$@";do
if [ -z "$sel" ];then
break
fi
echo "Choose:[$REPLY]$sel"
done
echo "Bye!"
运行及结果
./sel a b c
1) a
2) b
3) c
选择一个数字?2
Choose:[2]b
选择一个数字?4
Bye!