【发布时间】:2021-08-23 08:42:45
【问题描述】:
Bash 有一个“神奇的行为”,如果你输入“ls”,通常你会得到彩色的输出,但是如果你将输出重定向到一个文件,颜色代码就消失了。如何使用 Go 实现这种效果。例如用下面的语句:
fmt.Println("\033[1;34mHello World!\033[0m")
我可以看到彩色文本,但如果我将输出通过管道传输到文件,则颜色会保留,这不是我想要的。
顺便说一句,这个问题主要和Go无关,我只是想在我的go程序中实现效果。
【问题讨论】:
-
在某些操作系统上是可能的。 Logrus 在各种
terminal_check*文件中支持各种操作系统。 -
Bash has a 'magical behavior', if you type 'ls', usually you will get colorful output, but if you redirect the output to a file, the color codes are gone.- 这是 ls 功能,而不是 Bash