golang ExecuteCommand

package utils

import (
    "bytes"
    "log"
    "os/exec"
)

func ExecuteCommand(dir, command string, command_args ...string) (string, error) {
    cmd := exec.Command(command, command_args...)
    cmd.Dir = dir
    log.Println("[command]", "[execute]", cmd.Dir, command, command_args)
    var out bytes.Buffer
    cmd.Stderr = &out
    cmd.Stdout = &out
    err := cmd.Run()
    if err != nil {
        log.Println("err:", err, out.String())
    } else {
        log.Println("[command]", "[stdout]", out.String())
    }
    return out.String(), err
}

 

posted @ 2018-09-19 10:01  不做大哥很多年  阅读(729)  评论(0编辑  收藏  举报