2.8 将输出和错误信息发送到不同文件

2.8 Sending Output and Error Messages to  Different Files

问题

你希望得到一个程序的输出,但却不想让错误信息混入其中。你也想保存错误信息,不过却很难从混合了错误信息的输出中把它们找出来。

解决办法

将输出和错误信息重定向到不同的文件中:

或者,更通用的做法是:

讨论

这个例子展示了由 Shell 创建的两个不同的文件。第一个文件,messages.out,包含了所有假想的 myprogram 程序重定向而来的输出。所有错误信息则重定向到 message.err。

在 1> 和 2> 结构中,数字代表文件描述符。1 是标准输出(STDOUT),2 是标准错误(STDERR)。数字从 0 开始,0 代表标准输入(STDIN)。当不指定数字时,则默认为 STDOUT。关于文件描述符的更多信息,以及 STDOUT 和 STDERR 之间的区别,参见《2.19 重定向不起作用时保存输出》

参见

关于 “2.8 将输出和错误信息发送到不同文件” 的 1 个意见

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据