zsh 中使用括号和变量进行通配

zsh 中使用括号和变量进行通配

我编写了以下代码片段,以有选择地从共同祖先中删除多个子目录。它不起作用,但我不知道为什么。

for x in *; 
do rm -r "$x/foo/bar/{a*,b,c,d,g*}"; 
done

当我运行它时,我收到“没有这样的文件或目录”错误,即使我知道这些文件夹存在。

答案1

双引号内的括号不会扩展。尝试这个:

for x in *; 
do rm -r "$x/foo/bar/"{a*,b,c,d,g*}; 
done

相关内容