为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕慕森 2022-01-10 17:02:39
我想做的是:cmd := exec.Command(someCommand)cmd.Stdout = os.Stdoutcmd.Run()save(os.Stdout)因为这个命令需要很长时间执行,我想立即在屏幕上打印结果。所以我不想用result := cmd.Output() fmt.Print(result)保存输出然后打印
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

美国MultiWriter:


cmd := exec.Command(someCommand)

var buf bytes.Buffer

cmd.Stdout = io.MultiWriter(os.Stdout, &buf)

cmd.Run()

save(buf.Bytes())  // Bytes() returns a []byte containing the stdout from the commmand. 


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信