我使用 go 的 exec Run 命令来获取命令输出,当命令“Stdout”字段设置为os.Stdout
且错误发送到os.Stderr
.
我想将输出和错误输出显示到控制台,但我也希望我的程序看到输出是什么。
然后我创建了自己的 Writer 类型来完成此操作,将两者写入缓冲区并打印到终端。
问题是,当某些应用程序检测到它没有写入 tty 时,会将其输出更改为人类难以读取的内容。因此,当我以后一种方式执行此操作时,我得到的输出会变得丑陋。(对计算机来说更干净,对人类来说更丑陋)
我想知道 Go 中是否有某种方法可以让我运行的任何命令相信我是 tty,尽管不是 tty os.Stdout/os.Stderr
。我知道可以使用script
bash 命令来完成,但是根据 Darwin/Linux 使用不同的标志,所以我试图避免这种情况。
提前致谢!
狐的传说
相关分类