다들 알고 있었지만 find . -exec foo {} \;
어느 순간 생각이 멈췄다. 하지만 최근에 처음 학습을 시작했을 때 겪었던 것과 동일한 문제가 다시 발생했습니다.
{}
경로/이름에 대한 자리 표시자를 선택하는 이유는 무엇입니까 ?
구문을 지정해야 한다면 $
다른 많은 언어에서 변수 인수에 사용되는 것과 마찬가지로 일부 조합을 사용하게 될 것입니다. C 프로그래머로서 누군가 는 ... %
이라고 생각 printf
하거나 심지어 @
그것이 자연스러운 선택이라고 느낄 수도 있습니다. 또는 해당 맥락에서 특별한 의미가 없는 일부 "자유" 문자입니다. 그런데 왜 한 쌍의 중괄호 안에는 아무것도 없는 걸까요? 교정기는 항상 내부 내용을 수집하는 데 사용됩니다. 나에게는 이것이 가장 이상한 생각인 것 같다.
find
나는 역사를 대부분 알고 있다불확실성에 빠진 것 같아, 하지만 중괄호를 비슷한 방식으로 사용한 이전 도구를 아는 사람이 있을까요?
답변1
가능한 이유는 분기될 수 있는 무한한 가능성을 표현하기 위한 것일 수 find
있으며, 단순히 수많은 가능성의 수렴을 의미하는 공통 기호가 필요합니다. 그래서 {}
그냥.
man find
하지만 이유는 언급되지 않았습니다.