Answers:
cat <<EOF > test
My name is $NAME
EOF
甚至
cat <<==end > test
My name is $NAME
==end
为我工作。
当你像看起来==end
的'
变量不能代替。
啊,它在手册页中(外观3.6.6):
此处文档的格式为:
<<[-]word here-document delimiter
没有对word执行参数扩展,命令替换,算术扩展或路径名扩展。如果在word中引用了任何字符,则 分隔符是对word删除引用的结果,并且本文档中的行不会扩展。如果未引用word,则对本文的所有行进行参数扩展,命令替换和算术扩展。[...]
cat << "==end" > test
),但硬引号确实可以防止替换。