如何从R或/和Matlab运行shell脚本?

Mih*_*yan 11 shell matlab r

让我们假设我们有X可以在shell中执行的命令,并在stdout和stderr中返回一些结果.是否可以从R或/和Matlab执行此操作?如果是的话,如何处理命令的结果?

Nik*_*ohl 11

您可以使用system()命令在R中执行shellscripts,system-commands等

它记录在 http://cran.r-project.org/doc/manuals/R-lang.html#System-and-foreign-language-interfaces


gla*_*ain 5

根据这篇文章,您可以使用系统功能从任何操作系统调用任何内容.例如[status, result] = system(’dir’);,dir在类UNIX操作系统上调用该命令.

MathWorks文档:

system('command')调用操作系统来运行指定的命令,例如dir或ls或UNIX shell脚本,并将输出定向到MATLAB软件.该命令在系统shell中执行,系统shell可能不是从中启动MATLAB的shell.如果命令成功运行,则ans为0.如果命令失败或操作系统上不存在,则ans为非零值,并显示解释性消息.

[status, result] = system('command') 调用操作系统运行命令,并将输出定向到MATLAB.如果命令成功运行,则status为0,result包含命令的输出.如果命令失败或操作系统上不存在,则status为非零值,结果包含解释性消息.

见迈克尔·卡茨的博客在这里