вместо.

, чтобы выполнить команду оболочки в Go и получить результат в виде строки в моей программе. Я виделРозетта Код версия:

package main
import "fmt"
import "exec"

func main() {
  cmd, err := exec.Run("/bin/ls", []string{"/bin/ls"}, []string{}, "", exec.DevNull, exec.PassThrough, exec.PassThrough)
  if (err != nil) {
    fmt.Println(err)
    return
  }
  cmd.Close()

Но это не фиксирует фактический стандарт или ошибки, к которым я могу получить программный доступ - они все еще распечатываются в обычный stdout / stderr. Я видел, что использование Pipe как out или err может помочь в другом месте, но нет примера того, как это сделать. Есть идеи?