从在here文档被评估防止封闭在反引号表达式[复制](Prevent expressions enc

2019-07-03 11:09发布

这个问题已经在这里有一个答案:

  • 如何猫<< EOF >>文件包含的代码? 3个回答

我有这样的文字:

foo bar
`which which`

如果我这样做使用定界符,我得到了一个空白文件:

➜  ~  echo <<EOT > out
heredoc> foo bar
heredoc> `which which`
heredoc> EOT
➜  ~  cat out

➜  ~  

我怎样才能做到这一点?

编辑

哦对不起,我的意思做cat 。 问题是,它写入到这个文件: which: shell built-in command ,即评估反引号。 没有办法做到这一点没有评估?

有了cat ,我得到

➜  ~  cat <<EOT > out
heredoc> foo bar
heredoc> `which which`
heredoc> EOT
➜  ~  cat out
foo bar
which: shell built-in command
➜  ~  

我不想which which进行评估。

Answer 1:

报价标签,以防止反引号被评估。

$ cat << "EOT" > out
foo bar
`which which`
EOT

$ cat out
foo bar
`which which`


文章来源: Prevent expressions enclosed in backticks from being evaluated in heredocs [duplicate]
标签: bash shell