如何在GO中调用外部命令? 我需要调用外部程序并等待它完成执行。在执行下一个语句之前。
答案 0 :(得分:6)
您需要使用exec package:使用Command启动命令并使用Run
等待完成。
cmd := exec.Command("yourcommand", "some", "args")
if err := cmd.Run(); err != nil {
fmt.Println("Error: ", err)
}
如果您只想阅读结果,可以使用Output代替Run
。
答案 1 :(得分:0)
package main
import (
"fmt"
"os/exec"
"log"
)
func main() {
cmd := exec.Command("ls", "-ltr")
out, err := cmd.CombinedOutput()
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
}