我有一个文件list.txt
,其中包含文件列表:
file-1.txt
file-2.txt
...
file-n.txt
我想使用Bash select
命令生成菜单,以便我可以打开我选择的文件。
我尝试了这个,但它不起作用:
select d in list.txt;
do test -n "$d" && break;
echo ">>> Invalid Selection";
done
open "$d"
答案 0 :(得分:1)
$ help select
select: select NAME [in WORDS ... ;] do COMMANDS; done
...
选择会获取单词列表,就像for
一样,而不是文件名。
您需要使用select d in $(cat list.txt)
之类的内容来读取文件中的选项。但要注意分词和文件名通配的常见问题,即如果列表中的名称可以包含空格则设置IFS=$'\n'
,如果它们可以包含glob字符,则使用set -f
。
答案 1 :(得分:0)