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

おすすめ記事