go 执行shell命令并得到返回结果

18 min read

go 执行shell命令并得到返回结果

package main
 
import (
    "fmt"
    "io/ioutil"
    "os/exec"
)
 
func ExecCommand(strCommand string)(string){
    cmd := exec.Command("/bin/bash", "-c", strCommand)
 
 
    stdout, _ := cmd.StdoutPipe()
    if err := cmd.Start(); err != nil{
        fmt.Println("Execute failed when Start:" + err.Error())
        return ""
    }
 
    out_bytes, _ := ioutil.ReadAll(stdout)
    stdout.Close()
 
    if err := cmd.Wait(); err != nil {
        fmt.Println("Execute failed when Wait:" + err.Error())
        return ""
    }
    return string(out_bytes)
}
 
 
func main(){
    strData := ExecCommand("ifconfig")
    fmt.Println("Execute finished:" + strData)
}