1

考虑以下跨平台测试:

> system('echo hello')
hello

如果在 RStudio 中我复制字符串system('echo hello')并且运行reprex::reprex(),则不会捕获输出:

在此处输入图像描述

有什么方法可以捕获输出吗?我在 macOS 上。

4

1 回答 1

1

也许设置std_out_err = TRUE可以完成这项工作。从功能文档:

std_out_err逻辑。是否为 reprex 渲染进程发送到 stdout 和 stderr 的输出附加一个部分。如果 reprex 产生子进程或 system() 调用,则可能需要显示输出。请注意,这不能与主 R 进程的输出正确交错,也不能保证标准输出和标准错误的行按正确的时间顺序排列。有关更多信息,请参见 callr::r()。阅读有关 opt() 的更多信息。

system("echo hello")
x <- 1
x
#> [1] 1

标准输出和标准错误

hello

reprex 包(v0.3.0)于 2019 年 6 月 24 日创建

于 2019-06-24T19:20:09.003 回答