禁止R脚本的输出

时间:2019-05-01 14:12:18

标签: r stdout stderr rscript

我正在使用shebang中的Rscript创建一个R脚本,并输出到stdout。这可以正常工作,但是R向stderr输出记录日志/调试消息的 lot (例如,其导入是否工作正常,各种功能的状态,今天的天气等)。我该如何抑制?

我知道suppressWarningssuppressMessages,但是这些函数包装了您想静音的所有函数。我可以将整个脚本封装到一个匿名函数中,然后将其传递给这些函数,但这似乎有点奇怪。 (不过,如果那是唯一的方法,那么我想那是它的方法...)

另一种选择是将R脚本嵌入到bash脚本中,并使用bash的IO重定向。再次,这似乎是一个回旋解决方案,但我对此持开放态度!

我只是想知道是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

如果要完全禁止显示所有stderr消息,请将此行放在脚本的开头:

sink(file("/dev/null", "w"), type="message")

显然,这对调试没有帮助...