如何在golang中同时将stdout保存到字符串时打印到stdout?

我想做的是:


cmd := exec.Command(someCommand)

cmd.Stdout = os.Stdout

cmd.Run()

save(os.Stdout)

因为这个命令需要很长时间执行,我想立即在屏幕上打印结果。所以我不想用result := cmd.Output() fmt.Print(result)保存输出然后打印


慕慕森
浏览 298回答 1
1回答

蝴蝶不菲

美国MultiWriter:cmd := exec.Command(someCommand)var buf bytes.Buffercmd.Stdout = io.MultiWriter(os.Stdout, &buf)cmd.Run()save(buf.Bytes())  // Bytes() returns a []byte containing the stdout from the commmand. 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go