Rscript和Backticks

Rscript和Backticks,r,bash,shell,knitr,rscript,R,Bash,Shell,Knitr,Rscript,我需要使用Rscript在命令行上运行knit2html。我尝试了下面的代码,它是有效的 Rscript -e "(knitr::knit2html(text = '## good', fragment.only = TRUE))" 但是,当我引入R代码块(或任何涉及反勾号的内容)时,进程将挂起。因此,下面的方法不起作用 Rscript -e "(knitr::knit2html(text = '## good\n `r 1 + 1`',fragment.only = T))" 出于使用目的

我需要使用Rscript在命令行上运行
knit2html
。我尝试了下面的代码,它是有效的

Rscript -e "(knitr::knit2html(text = '## good', fragment.only = TRUE))"
但是,当我引入R代码块(或任何涉及反勾号的内容)时,进程将挂起。因此,下面的方法不起作用

Rscript -e "(knitr::knit2html(text = '## good\n `r 1 + 1`',fragment.only = T))"
出于使用目的,我只能访问内容,因此无法将文件传递到
knit2html
,我知道这会起作用

我的问题是我如何使这项工作。我知道问题出在反勾号上,我也尝试过避开它们,但似乎没有任何效果。

这是一个shell问题

在windows上它可以工作

在linux上,您需要避免类似于


我想原因是,一些shell解释了双引号字符串一次。

一个相关问题已经报告过一次。您必须使用单引号来避免shell扩展。不过,我不确定这是否也适用于Windows。

这对我来说也适用。可能是操作系统问题。我在Mac OS 10.8.2上。您使用的是什么操作系统?您是否尝试过使用“here file”或“here document”构造(使用
Rscript@Ramnath),我在windows和Ubuntu中对其进行了测试。告诉我这是否适用于Mac操作系统。感谢您提醒我可能出现的问题。但是,我无法让它在Mac操作系统上工作。尝试了这个
Rscript-e'(knitr::knit2html(text=“##好的\n
r1+1
,fragment.only=TRUE”)
得到了这个。
参数'~+~
r~+~1~+~+~+~+~1
,~+~fragment.only~+~+~TRUE')\uu被忽略了
确定。它看起来像是你特定外壳的问题;这对我很有用:Rscript-e“(knitr::knit2html(text=“##good\n
r1+1
”,fragment.only=TRUE))(backticks被SO吃掉了)。我在Ubuntu下,我的
$SHELL
bash
。我不知道Mac的默认shell是什么(有没有这样的东西
echo$shell
?)我做了
echo$shell
,它返回了
bin/bash
。我需要更深入地挖掘错误的来源。