使用select循环打印菜单选项的多种实现方法
方法一:直接使用列表字符串
[root@i-1pbhgm8j ~]# cat a.sh
#!/bin/bash
select name in oldboy oldgirl tingting
do
echo $name
done
[root@i-1pbhgm8j ~]# sh a.sh
1) oldboy
2) oldgirl
3) tingting
#? 1
oldboy
#? 2
oldgirl
#? 3
tingting
方法二:采用数组做变量列表
[root@i-1pbhgm8j ~]# cat a.sh
#!/bin/bash
array=(oldboy oldgirl tingting)
select name in "${array[@]}"
do
echo $name
done
方法三:把命令结果作为变量列表
数据准备
[root@i-1pbhgm8j ~]# mkdir -p /tmp/test
[root@i-1pbhgm8j ~]# mkdir -p /tmp/test/{oldboy,oldgirl,tingting}
[root@i-1pbhgm8j ~]# ls /tmp/test/
oldboy oldgirl tingting
脚本开发
[root@i-1pbhgm8j ~]# cat a.sh
#!/bin/bash
select name in `ls /tmp/test`
do
echo $name
done