23

我想在 bash 中执行以下操作,但没有插入变量:

cat >aBashScript.sh <<EOL
$name
EOL

该文件应该包含$name,但它是空的。如何做到这一点?

4

2 回答 2

53

您可以通过引用限制字符串来禁用此处文档中的参数扩展:

cat >aBashScript.sh <<'EOL'
$name
EOL
于 2013-07-24T16:08:29.940 回答
6

您需要转义美元符号,只需在其前面加上反斜杠即可转义,如下所示:

cat >aBashScript.sh <<EOL
\$name
EOL

或者按照@Michael 的建议禁用引用。

于 2013-07-24T16:08:41.777 回答