중괄호와의 차이점은 무엇을 의미합니까?

중괄호와의 차이점은 무엇을 의미합니까?
for i in $(find template -type f | sed 's/^template//') ; do
    diff -wBNu {,./template}$i

디렉토리의 모든 파일을 순회 template한 다음 템플릿으로 시작하는 모든 문장을 ''. 이 이해가 맞나요? diff여기서는 무엇을 하나요 ?

답변1

중괄호는 쉘 '중괄호 확장'을 수행합니다. {,./template}$i 구성은 $i 값을 포함하는 단어 쌍을 생성하지만 후자에는 ./template이 추가됩니다. 명령을 시도해 보세요

echo foo{,bar}

쉘 프롬프트에서 실제로 작동하는 모습을 확인하세요. 이는 bash 매뉴얼의 "Brace 확장" 항목에 설명되어 있습니다.

관련 정보