답변:
cat <<EOF > test
My name is $NAME
EOF
또는
cat <<==end > test
My name is $NAME
==end
나를 위해 일했다.
당신이 걸릴 때처럼 보이는 ==end
에 '
변수를 대체하지 않습니다.
아, 여기 맨 페이지에 있습니다 (3.6.6 참조).
여기 문서의 형식은 다음과 같습니다.
<<[-]word here-document delimiter
word 에서 매개 변수 확장, 명령 대체, 산술 확장 또는 경로 이름 확장이 수행되지 않습니다 . 단어의 문자 가 따옴표로 묶이면 구분 기호 는 단어에서 따옴표를 제거한 결과이며 여기 문서의 줄은 확장되지 않습니다. 단어 를 인용 부호로 묶지 않으면 여기 문서의 모든 줄에 매개 변수 확장, 명령 대체 및 산술 확장이 적용됩니다. [...]
cat << "==end" > test
)를 사용할 수도 있지만 하드 따옴표는 실제로 대체를 방지합니다.