在R中调用系统命令是什么意思?

问题描述 投票:0回答:1

我有以下代码要执行,但是我发现system(eval正在后台运行。我想知道它做什么?我找到了一种资源,但是没有详细解释!

cmd.command.line.input <- "C:\Program Files\R\R-3.4.3\bin\R.exe" CMD BATCH C:\Users\myusername\Documents\R\Send_Outlook_Email.R"
system(eval(cmd.command.line.input),intern=F,show.output.on.console = T,invisible=F)

要执行但无法理解system(eval是做什么的?

https://stat.ethz.ch/R-manual/R-devel/library/base/html/system.html

r
1个回答
1
投票

[请记住,您始终可以在R中使用help(cmd)来告诉命令做什么。例如,help(eval)包含:

在指定环境中评估R表达式。

以及更多信息。在您的情况下,您只是向其传递了一个字符串而没有其他任何参数,因此它将在您当前的作用域中评估该字符串(就像键入"mystring"包括外壳中的引号一样)并返回它。因此,这里似乎是多余的,因为您可以直接使用cmd.command.line.input并使用git摆脱eval

help(system)的标题是

“系统”调用由“命令”指定的OS命令。

在您的情况下,操作系统是Windows,因此您要告诉Windows直接运行

C:\Program Files\R\R-3.4.3\bin\R.exe" CMD BATCH C:\Users\myusername\Documents\R\Send_Outlook_Email.R

Windows将像运行Windows CMD一样运行此命令,并直接键入该命令。

© www.soinside.com 2019 - 2024. All rights reserved.