4

如何在 GO 中调用外部命令?我需要调用一个外部程序并等待它完成执行。在执行下一条语句之前。

4

2 回答 2

9

您需要使用exec 包:使用Command启动命令并用于Run等待完成。

cmd := exec.Command("yourcommand", "some", "args")
if err := cmd.Run(); err != nil { 
    fmt.Println("Error: ", err)
}   

如果您只想阅读结果,可以使用Output而不是Run.

于 2013-08-24T16:34:17.360 回答
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)
}

在线尝试

于 2019-10-03T04:23:45.673 回答