管道连接至 T 恤时保留颜色

管道连接至 T 恤时保留颜色

我制作了一个小程序,用 更新 Homebrew brew update,然后将输出发送到日志文件,但我也想将其保留在终端上,所以我使用tee.问题是,它不显示颜色,例如,当我收到此错误消息时:

Error: Failed to update tap: caskroom/cask

该单词Error应该是红色的,但用 输出时却不是红色的tee。我还没有找到解决这个问题的方法,所以有人知道该怎么做吗?

答案1

与大多数默认情况下生成彩色文本输出的实用程序一样,brew如果输出不直接发送到终端,则该实用程序将从其输出中删除颜色代码。

通过设置HOMEBREW_COLOR实用程序的环境变量,brew即使您将其通过管道传输到某个命令,您也可以强制生成彩色输出:

HOMEBREW_COLOR=1 brew update | tee brew-update-colour.log

这在手册的“环境”部分中有记录brew(1)

HOMEBREW_COLOR
如果设置,则强制在非 TTY 输出上输出颜色。

相关内容