如何将缓冲区打印到标准输出但也捕获为字符串?

我知道如何捕获 a 的输出,exec.Command但我还想stdout在捕获它的同时将其流式传输到。感谢您的任何输入!


package main


import (

    "bytes"

    "fmt"

    "os/exec"

)


func main() {

    cmd := exec.Command("ls")

    var out bytes.Buffer

    cmd.Stdout = &out

    cmd.Run()

    fmt.Println(out.String())

}


大话西游666
浏览 90回答 1
1回答

MMTTMM

使用示例io.MultiWriterpackage mainimport (    "io"    "os"    "bytes"    "fmt"    "os/exec")func main() {    cmd := exec.Command("ls")    var out bytes.Buffer    w := io.MultiWriter(os.Stdout, &out)    cmd.Stdout = w    fmt.Printf("===Stdout:===\n")    cmd.Run()    fmt.Printf("\n===Variable:===\n")    fmt.Println(out.String())}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go