Bir kabuk komutunu çalıştırmaya, stdout yakalamaya ve bu çıktıyı bir dosyaya yazmaya çalışıyorum. Ancak, program yazarken yazmaya çalıştığım dosya boş olduğundan, birkaç adım eksik gibi görünüyor. Komutun stdout'unu nasıl yakalayabilirim ve bir dosyaya nasıl yazabilirim?Golang'da bir exec.md dosyasının stdout'unu bir dosyaya nasıl yazabilirim?
package main
import (
"bufio"
"io"
"os"
"os/exec"
)
func main() {
cmd := exec.Command("echo", "'WHAT THE HECK IS UP'")
// open the out file for writing
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)
err = cmd.Start()
if err != nil {
panic(err)
}
go io.Copy(writer, stdoutPipe)
cmd.Wait()
}
Duh, Bir şeyleri kaçırdığımı biliyordum. – jergason