请考虑以下跨平台测试:
> system('echo hello')
hello
如果在RStudio中我复制字符串system('echo hello')
并运行reprex::reprex()
,则不会捕获输出:
有什么方法可以捕获输出?我在macOS上。
答案 0 :(得分:1)
也许设置std_out_err = TRUE
就可以了。从功能文档中:
std_out_err 逻辑。是否在reprex渲染过程中为发送到stdout和stderr的输出附加节。这可以是 如果reprex产生子进程,则必须显示输出 system()调用。请注意,这不能与输出正确地交错 从主要的R过程开始,也没有任何保证 来自标准输出和标准错误的时间顺序正确 订购。有关更多信息,请参见caller :: r()。进一步了解opt()。
system("echo hello")
x <- 1
x
#> [1] 1
标准输出和标准错误
hello
由reprex package(v0.3.0)于2019-06-24创建