重定向和打印错误而不覆盖文件



我想将所有错误保存在一个文件(output.log)中,而不覆盖它,然后打印该文件。

script ./src/ 2>&1 | tee output.log

假设您想要追加而不是覆盖:

script ./src/ 2> >(tee -a /tmp/error)

这只发送错误到/tmp/error,而不是你的建议,它发送所有的错误文件。>(command)机制运行命令时,stdin指向它所在的文件(在Linux中,这是通过/dev/fd/X完成的)。

假设您想要中止而不是覆盖:

set -o noclobber
script ./src/ 2> /tmp/error

如果/tmp/error存在,这将标记一个错误。

如果你真的想同时捕获stdoutstderr,请使用2>&1>

相关内容

  • 没有找到相关文章

最新更新