我想在Go中执行shell命令,并在程序中将结果输出作为字符串.我看到了Rosetta Code版本:
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()
Run Code Online (Sandbox Code Playgroud)
但这并没有以我可以以编程方式访问的方式捕获实际标准或错误 - 那些仍然打印到常规stdout/stderr.我看到使用Pipe作为out或err可以帮助其他地方,但没有如何这样做的例子.有任何想法吗?