此处文档中分隔符前面的反斜杠是什么意思 (cat

此处文档中分隔符前面的反斜杠是什么意思 (cat

我在此处文档中遇到了以下语法,但在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""

相关内容