Exec um comando shell no Go
Estou procurando executar um comando shell no Go e obter a saída resultante como uma string no meu programa. Eu vi oRosetta Code version:
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()
Mas isso não captura o padrão real ou erra de uma maneira que eu possa acessar programaticamente - eles ainda imprimem no stdout / stderr regular. Vi que usar o Pipe como saída ou erro poderia ajudar em outro lugar, mas nenhum exemplo de como fazê-lo. Alguma ideia