抑制R脚本的输出

问题描述 投票:0回答:1

我正在shebang中使用Rscript创建一个R脚本并输出到stdout。这很好,但是R向stderr输出了很多日志/调试消息(例如,它的导入是否正常,各种功能的状态,今天的天气如何等)。我怎么压制这个?

我知道suppressWarningssuppressMessages,但这些函数包含了你想要沉默的任何函数。我可以将我的整个脚本包含在一个匿名函数中,然后将其传递给这些,但这似乎有点像一个奇怪的习语。 (尽管如此,如果这是唯一的方式,那么我猜这就是它的方式......)

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

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

r stdout stderr rscript
1个回答
0
投票

如果要完全禁止所有stderr消息,请在脚本的早期放置此行:

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

显然这不会有助于调试......

© www.soinside.com 2019 - 2024. All rights reserved.