제목에서 알 수 있듯이 이 문서를 새 줄뿐만 아니라 어디에서나 끝낼 수 있습니까?
일반적으로 heredocs의 사용법은 다음과 같습니다.
$ cat << 'EOF'
First line
Seconde line
EOF
출력은 다음과 같습니다
First line
Seconde line
구분 기호가 줄 끝에 있을 때 읽기를 중지할 수 있는 방법이 있나요? 이렇게 하면 다음과 같은 작업을 수행할 수 있습니다.
$ cat << 'EOF'
First line
Seconde lineEOF
답변1
내가 생각할 수 있는 유일한 방법은 이것이다:
text=$(cat << EOF
line 1\x0a\
line 2\x0a\
line 3
EOF
)
echo -en $text
더 짧다
echo -en "$(cat << EOF
line 1
line 2
line 3
EOF
)"