是否可以读取带有其颜色属性的命令输出。我的意思是,我们可以读取实际的转义序列吗?
例如; 命令输出为红色:
Hello
我想读为:
\033[31;1;4mHello\033[0m
目前,我的阅读方式如下:
func stat(hash string) string {
cmd := exec.Command("git", "show", "--stat", hash)
out, err := cmd.Output()
if err != nil {
return err.Error()
}
return string(out)
}
答案 0 :(得分:2)
使用github.com/kr/pty库在pty中运行命令
这对我有用
转义序列在输出中可见
package main
import (
"github.com/kr/pty"
"io"
"os"
"os/exec"
)
func main() {
hash := os.Args[1]
cmd := exec.Command("git", "show", "--stat", hash)
f, err := pty.Start(cmd)
if err != nil {
panic(err)
}
io.Copy(os.Stdout, f)
}