2.8 Sending Output and Error Messages to Different Files
问题
你希望得到一个程序的输出,但却不想让错误信息混入其中。你也想保存错误信息,不过却很难从混合了错误信息的输出中把它们找出来。
解决办法
将输出和错误信息重定向到不同的文件中:
myprogram 1> messages.out 2> message.err
或者,更通用的做法是:
myprogram > messages.out 2> message.err
讨论
这个例子展示了由 Shell 创建的两个不同的文件。第一个文件,messages.out,包含了所有假想的 myprogram 程序重定向而来的输出。所有错误信息则重定向到 message.err。
在 1> 和 2> 结构中,数字代表文件描述符。1 是标准输出(STDOUT),2 是标准错误(STDERR)。数字从 0 开始,0 代表标准输入(STDIN)。当不指定数字时,则默认为 STDOUT。关于文件描述符的更多信息,以及 STDOUT 和 STDERR 之间的区别,参见《2.19 重定向不起作用时保存输出》
参见
- 2.6 将输出保存到其它文件
- 2.13 抛弃输出
- 2.19 重定向不起作用时保存输出
关于 “2.8 将输出和错误信息发送到不同文件” 的 1 个意见
您必须登录才能发表评论。