タイトルが示すように、この文書を新しい行だけでなくどこでも終了できますか?
一般的に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
)"