【发布时间】:2014-03-28 14:15:32
【问题描述】:
我正在使用 bash select 来生成交互式菜单,所以代码如下:
select CHOISE in "${ARRAY_OF_DIRS[@]}"; do
myfolder=$CHOISE
echo "you have selected: $myfolder"
done
将产生这个输出:
1) Desktop
2) Documents
3) Downloads
...
如果您点击“3”之类的内容,脚本会回复:
you have selected: Downloads
我的问题是:有没有办法让脚本接受 ID 号和字面答案?所以用户可以输入“下载”而不是“3”?如果您无法使用 select 执行此操作,您对如何重写此脚本以包含此类功能有任何建议吗?
在此先感谢您提供任何帮助:)
【问题讨论】:
-
如果你有一个名为“2”的文件夹,你想如何区分,所以选择将打印
1) "2" 2) "Desktop"- 如果有人输入“2” - 这应该是什么意思 - 一个名为“的文件夹” 2" 还是第二个选项? -
好问题!如果 select 有一个保存输入的变量,理论上可以创建一些逻辑来检查这个..?
-
它是理论上是可能的 - 但是(恕我直言)你应该消除二元性并只坚持编号选择......
-
您可以通过单击已解决答案左侧的复选标记将问题标记为已解决。不要在标题中加上“已解决”,这不会在 UI 中将问题标记为已解决。如果没有答案可以解决问题,请添加您自己的答案。您可以检查自己的答案,实际上这样做有一个参与徽章。
标签: bash select interactive