【发布时间】:2021-12-05 13:51:57
【问题描述】:
我正在尝试在 shell bash 中使用过滤器列出文件。
这个例子有效:
result=$(ls *{A1,A2}*.txt)
echo $result
file1_A1.txt,file2_A2.txt
但是将过滤器放入变量时,它不起作用:
filter={A1,A2}
result=$(ls *"$filter"*.txt)
echo $result
ls: 无法访问'{A1,A2}': 没有这样的文件或目录
我使用了错误的语法。我该如何解决?
最好的
【问题讨论】:
-
您可以尝试不使用引号转义 $filter 吗?因为否则它不会扩展
-
是的,我试过了,但是没用。
-
Globs 不会在变量赋值中展开。
标签: linux bash variables filter