抑制 R 脚本的输出

Suppressing R script's output

我正在 shebang 中使用 Rscript 创建一个 R 脚本并输出到标准输出。这工作正常,但 R 向 stderr 输出 lot of logging/debugging 消息(例如,它的导入是否正常,各种功能的状态,今天的天气如何等.).我该如何抑制它?

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

另一种选择是将 R 脚本嵌入到 bash 脚本中并使用 bash 的 IO 重定向。同样,这似乎是一个迂回的解决方案,但我愿意接受!

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

如果您想完全禁止所有 stderr 消息,请将此行放在脚本的前面:

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

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