我有下面的代碼從標準輸出輸出數據到一個文件:如何從標準輸出輸出到一個字符串中golang
cmd := exec.Command("ls","lh")
outfile, err := os.Create("./out.txt")
if err != nil {
panic(err)
}
defer outfile.Close()
stdoutPipe, err := cmd.StdoutPipe()
if err != nil {
panic(err)
}
writer := bufio.NewWriter(outfile)
defer writer.Flush()
err = cmd.Start()
if err != nil {
panic(err)
}
go io.Copy(writer, stdoutPipe)
cmd.Wait()
我需要從標準輸出輸出到一個字符串值,而不是文件。我如何實現這一目標?
是否有另一個函數,可以讓我更改io.Copy行去io.Copy(myStringVariable,stdoutPipe),因爲我需要讀取命令的輸出並對其應用一些處理?
在此先感謝
您可能剛剛將該文件分配爲命令的Stdout,並避免了管道和複製goroutine(其中您正在丟失讀/寫錯誤), – JimB