如何将stderr和stdoutredirect到同一行bash中的不同文件?
我非常了解这一点:
$ command 2>> error $ command 1>> output
有没有什么办法,我可以输出stderr到错误文件,并输出stdout输出文件在同一行bash?
只需将它们添加到一行command 2>> error 1>> output
但是请注意,如果文件已经有数据, >>
是用于追加的。 而>
将覆盖文件中的任何现有数据。
所以,如果你不想追加command 2> error 1> output
。
只是为了完成,你可以写1>
,因为默认的文件描述符是输出。 所以1>
和>
是同样的事情。
所以, command 2> error 1> output
成为, command 2> error > output
或者,如果您想在一个文件中混合输出(标准输出和标准错误),您可能需要使用:
command > merged-output.txt 2>&1
像那样:
$ command >>output 2>>error
尝试这个:
your_command 2>stderr.log 1>stdout.log
更多信息
数字0
到9
是bash中的文件描述符 。 0
代表标准input, 1
代表标准输出, 2
代表标准错误。 3
到9
是备用的任何其他临时使用。
任何文件描述符都可以使用操作符>
redirect到一个文件或另一个文件描述符。 您可以改为使用操作符>>
追加到文件而不是创build一个空的文件。
用法:
file_descriptor > 文件名
file_descriptor >& file_descriptor