假设我们有命令X
,它可以在shell中执行并在stdout和stderr中返回一些结果。是否可以从R或/和Matlab执行此操作?如果是,那么如何处理命令的结果呢?
答案 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
命令。
system('command')
呼吁 操作系统运行指定的 命令,例如dir或ls或a UNIX shell脚本,并指向 输出到MATLAB软件。该 命令在系统shell中执行, 这可能不是来自的shell 你推出了MATLAB。如果命令 运行成功,ans为0.如果 命令失败或不存在 你的操作系统,ans是一个 非零值和解释 消息出现。
[status, result] = system('command')
调用操作系统运行 命令,并将输出定向到 MATLAB。如果命令成功运行, status为0,结果包含 命令输出。如果命令失败 或者您的经营中不存在 系统,状态是非零值和 结果包含一个解释 消息。
参见Michael Katz的博客here