bash多行字符串无插值

时间:2013-07-24 16:06:08

标签: bash

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

cat >aBashScript.sh <<EOL
$name
EOL

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

2 个答案:

答案 0 :(得分:35)

您可以在here documents中停用引用,如下所示:

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

答案 1 :(得分:5)

你需要逃避美元符号,只需在其前面添加一个反斜杠就可以将其转义为:

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

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