2017-08-09 85 views
1

我想从命令行(实际上是从Makefile中运行)执行R命令。如果相关,则该命令是roxygen2::roxygenise()。我不想创建一个新文件并将其作为脚本运行 - 这只会使我的目录变得混乱。 在python中,这很简单 - 你写python -c "import antigravity"。 我使用Makefile来构建,安装并测试我正在处理的(Rcpp)包。运行R命令时不输入R,也不输入脚本

+2

'R -e“roxygen2 :: roxygenise()”'将评估提供的表达式。如果启动消息让你烦恼,'--slave'可以抑制表达式的输出。 [littler](http://dirk.eddelbuettel.com/code/littler.html)是另一种可能性。 – alistaire

+0

@alistaire真棒,谢谢! –

回答

1

这通常是用'shebang脚本'来完成的。

从历史上看,littler是第一个,大约十年前。它仍然被广泛使用,并且包含一些帮助程序脚本,例如roxy.r,它只是做你想做的事:运行roxygen2::roxygenize()。我经常用这个。

接下来,Rscript开始随R一起发货。它类似于littler,但是在R是正的情况下自动可用。在负面方面,它开始较慢,并且无法加载methods包,这是一些错误报告和SO问题的来源。

更近些时候,R本身增加了在-e ...开关后面运行表达式的功能。

所以你有很多选择。您还可以学习大量的src/Makevars文件,其中许多文件使用Rscript