다음과 같은 간단한 스크립트가 있습니다.
#!/bin/bash
BOO=bla-bla-bla
cat > ./Makefile <<'EOF'
Hello
INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include
EOF
그러나 파일로 출력됩니다.
Hello
INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include
cat
해당 문자열의 이름 대신 변수 값을 어떻게 사용할 수 있습니까 ?
답변1
EOF
매개변수 대체를 억제하지 않으려면 여기에서 문서 제한 문자열 주위의 작은따옴표를 제거하십시오 . 자세한 내용은여기.
특별한 주의를 기울여야 한다"예 19-7. 매개변수 대체가 꺼졌습니다."그리고"예 19-8. 하나의 스크립트가 다른 스크립트를 생성합니다.".