You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将stderr重定向到stdout同时仍在终端打印stderr?

同时重定向stderr到stdout并在终端预览的解决方案

直接用以下命令即可满足需求:

cmd 2> >(tee /dev/tty) | other_cmd

原理拆解:

  • 2> >(tee /dev/tty):将cmd的标准错误(文件描述符2)通过进程替换传递给tee命令,tee会把收到的内容同时输出到当前终端(/dev/tty)和自身的标准输出
  • 管道| other_cmd会将cmd原本的标准输出,加上tee输出的标准输出(即原stderr内容)一起传递给other_cmd,完全实现了cmd 2>&1 | other_cmd的重定向效果,同时终端能实时看到stderr日志

之前误以为tee不适用是因为没意识到可以直接指向终端设备/dev/tty,而非必须写入文件。这种写法是针对「既要管道传递输出又要终端预览」场景的简洁实现,不需要额外的文件存储。

内容的提问来源于stack exchange,提问作者vitiral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:55:17