5
进度报告/记录信息是否属于stderr或stdout?
是否有正式的POSIX,GNU或其他指南,说明应在何处打印进度报告和日志记录信息(如“ Doing foo; foo done”之类的内容)?就个人而言,我倾向于将它们写入stderr,以便可以重定向stdout并仅获取程序的实际输出。最近有人告诉我,这不是一个好习惯,因为进度报告实际上不是错误,而应该仅将错误消息打印到stderr。 这两个职位都很有意义,当然您可以根据自己的工作细节选择一个或两个,但是我想知道是否有一个普遍接受的标准。在POSIX,GNU编码标准或任何其他这样的最佳实践列表中,我找不到任何特定的规则。 我们有一些类似的问题,但它们不能解决这个确切的问题: 何时在shell脚本中使用重定向到stderr:接受的答案表明了我倾向于做的事情,将程序的最终输出保留在stdout上,并保留给stderr。但是,尽管有论点支持,但这只是作为用户的意见而呈现的。 使用消息应该发送到stderr还是stdout?:这特定于帮助消息,但引用了GNU编码标准。这是我正在寻找的东西,不仅限于帮助消息。 那么,是否有关于打印进度报告和其他信息(不在程序实际输出中的部分)的官方规定?