yah*_*rga 1 macos bash options selection
我在脚本中有一个变量,它有几行单个单词
说$loremipsums的基本上是这样的:
something1
something2
something3
something4
Run Code Online (Sandbox Code Playgroud)
现在$loremipsums是动态的; 它可以更多或更少,并且可以是不同的值,具体取决于它从某个文件中读取的内容.我还想使用用户在变量中选择的内容.
我想动态地将它们变成选项选择菜单.我在这里找到了一个显示基本的:https://askubuntu.com/questions/1705/how-can-i-create-a-select-menu-in-a-shell-script
现在我需要动态地完成它.如您所见,它们是通过该示例手动设置的.
这是我想要的一个例子:
1) michael
2) richard
3) steven
4) robert
5) exit
Please enter your choice: 4
You have chosen robert
Run Code Online (Sandbox Code Playgroud)
你知道select吗?
names=( michael richard steven robert exit )
select name in "${names[@]}"; do
echo "You have chosen $name"
[[ $name == exit ]] && break
done
Run Code Online (Sandbox Code Playgroud)
要在换行符上拆分 $loremipsums,并选择其中之一:
oldIFS=$IFS
IFS=$'\n'
choices=( $loremipsums )
IFS=$oldIFS
PS3="Please enter your choice: "
select answer in "${choices[@]}"; do
for item in "${choices[@]}"; do
if [[ $item == $answer ]]; then
break 2
fi
done
done
echo "$answer"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |