在GO中调用外部命令

时间:2013-08-24 16:31:11

标签: go

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

2 个答案:

答案 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)
}

Try online