我在此处文档中遇到了以下语法,但在bash
的手册页中未提及
cat <<\EOF
hello world
EOF
手册页仅提及分隔符周围的引号及其-
前面的 a 。那么这意味着什么呢?
答案1
事实上,手册页对此进行了详尽的介绍,因为它写道
如果任何部分单词被引用
其中“引用”可以是'
,"
或 的任何运算符\
。
\EOF
引用E
并与完全引用具有相同的目的,WORD
从而防止此处文档中的参数扩展。
a="something"
cat <<\EOF
$a
EOF
和
a="something"
cat <<"EOF"
$a
EOF
两者都会导致
$a
而不是
something
就像这样
cat <<EOF
$a
EOF
事实上,因为»任何部分单词« 可以引用,您甚至可以使用<<E\OF
,<<E"O"F
或者<<EOF""