![중괄호를 사용한 차이점은 무엇을 의미하나요?](https://linux55.com/image/94945/%EC%A4%91%EA%B4%84%ED%98%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%9C%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9D%84%20%EC%9D%98%EB%AF%B8%ED%95%98%EB%82%98%EC%9A%94%3F.png)
for i in $(find template -type f | sed 's/^template//') ; do
diff -wBNu {,./template}$i
디렉토리의 모든 파일을 반복 template
하고 템플릿으로 시작하는 모든 문장을 로 바꾸는 for 루프를 이해할 수 있습니다 ''
. 여기서 뭐 하는 거야 diff
?
답변1
중괄호는 쉘의 "분기 확장"을 수행합니다. {,./template}$i 구성은 $i 값을 포함하는 단어 쌍을 생성하지만 후자 앞에는 ./template이 옵니다. 명령을 시도
echo foo{,bar}
쉘 프롬프트에서 실제로 작동하는 모습을 확인하세요. 이는 bash 매뉴얼의 "Brace Expansion"에 문서화되어 있습니다.