삽입이 가능한가요?heredocbash 기능 내부?
아래의 간단한 샘플에서는 오류가 발생합니다../heredoc_in_function.sh: 10: Syntax error: end of file unexpected (expecting "}")
#!/bin/sh
my_function () {
cat <<HEREDOC
heredoc contents
HEREDOC
}
my_function
환경:
- 우분투 11.04(GNU/Linux 2.6.38-8-서버 x86_64)
- GNU bash, 버전 4.2.8(1)-릴리스(x86_64-pc-linux-gnu)
답변1
귀하의 코드가 괜찮아 보였으므로 한 줄씩 복사했는데 다음과 같이 작동했습니다.
- OSX 10.7, bash 3.2.48(1)-릴리스(x86_64-apple-darwin11).
- Ubuntu 10.04.3, bash 4.1.5(1)-릴리스(x86_64-pc-linux-gnu)
공백/탭/등이 누락되거나 추가되지 않았는지 확인하기 위해 파일을 직접 다시 입력할 수 있습니까?
또한 어떻게 실행하고 있나요? 나는 한 chmod +x test.sh
다음./test.sh
편집: HEREDOC을 닫고 줄 시작 부분에 공백을 추가했을 때와 동일한 오류가 발생했습니다.
추가 참고 사항: 닫는 부분 뒤의 공백으로 인해 HEREDOC
이 문제가 발생할 수도 있습니다.