큰따옴표 안의 명령 대체

큰따옴표 안의 명령 대체

bash 파서를 작성하려고 합니다. 많은 자료에서 이것을 언급합니다.위키피디아

내가 막힌 부분 중 하나는 다음이 작동하는 이유입니다.

echo "$(echo "hi")"    # output => hi

Wiki에 따르면 명령 대체 전에 따옴표가 구문 분석됩니다. 이 경우 첫 번째 큰따옴표 세트를 구문 분석할 때 오류가 발생하지 않는 이유는 무엇입니까?"$(echo "

답변1

링크된 기사는 다음과 같습니다.

제외한 모든 캐릭터$, "및 그들이 가졌을 수 있는 특별한 의미를 잃습니다 `.\

[강조 내 것]

코드에서 $무슨 일이 일어나고 있는지$(아직특별한. $( )명령 대체 구문입니다. 명령 대체에 관해서는,같은 웹사이트에서:

명령 대체를 입력하면 쉘이 완전히 새로운 인용 컨텍스트를 시작한다는 점은 주목할 가치가 있습니다. 즉, 대체 내부의 큰따옴표는 대체 외부의 큰따옴표와 일치하지 않습니다.

관련 정보