正如标题所示,是否可以在任何地方结束此处文档,而不仅仅是在新行上?
通常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
)"