在 Fish shell 中打印并记录 stdout 和 stderr

在 Fish shell 中打印并记录 stdout 和 stderr

我正在使用fishshell 并尝试将 stdout 和 stderr 记录到两个单独的文件中,并同时在终端中打印它们(例如,通过将每个流通过管道传输到tee)。

bash我会做(见https://stackoverflow.com/a/692407/5082444):

command > >(tee -a stdout.log) 2> >(tee -a stderr.log >&2)

我如何在fishshell 中实现相同的目标?

答案1

你可以做类似的事情

begin; command | tee -a stdout.log ; end ^| tee -a stderr.log >&2

附带条件是,如果第一个tee向 stderr 写入任何内容,它也会被记录,而 bash 版本则不是这种情况。

相关内容