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

时间:2011-02-21 14:34:33

标签: shell r matlab

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

2 个答案:

答案 0 :(得分:11)

您可以使用system()命令在R

中执行shellscripts,system-commands等

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

答案 1 :(得分:5)

根据此post,您可以使用系统函数从任何操作系统调用任何内容。示例是[status, result] = system(’dir’);,用于在类UNIX操作系统上调用dir命令。

来自MathWorks documentation

  

system('command')呼吁   操作系统运行指定的   命令,例如dir或ls或a   UNIX shell脚本,并指向   输出到MATLAB软件。该   命令在系统shell中执行,   这可能不是来自的shell   你推出了MATLAB。如果命令   运行成功,ans为0.如果   命令失败或不存在   你的操作系统,ans是一个   非零值和解释   消息出现。

     

[status, result] = system('command')   调用操作系统运行   命令,并将输出定向到   MATLAB。如果命令成功运行,   status为0,结果包含   命令输出。如果命令失败   或者您的经营中不存在   系统,状态是非零值和   结果包含一个解释   消息。

参见Michael Katz的博客here