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

관련 정보