在终端中打印 stdout 和 stderr 并重定向到 2 个不同的文件

问题描述

question 的答案解释了如何将 stdout 和 stderr 打印到终端,同时还将它们重定向文件

program [arguments...] 2>&1 | tee outfile

如果应该在 2 个不同的文件重定向 stdout 和 stderr,如何扩展?

解决方法

使用process substitution

program >(tee stdout.log) 2>(tee stderr.log >&2)