INNER CODE UNIT · Go
ExecShell
yoyofx/yoyogo · utils/cmd.go:11
func ExecShell(shell string, dir string) (stdout string, stderr string) {
var cmd *exec.Cmd
if runtime.GOOS == "windows" {
cmd = exec.Command("cmd", "/C", shell)
} else {
cmd = exec.Command("/bin/bash", "-c", shell)
}
var out bytes.Buffer
var stderrBuf bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderrBuf
if dir != "" {
cmd.Dir = dir
}
err := cmd.Run()
if err != nil {
fmt.Println("shell exec have an error", "err", err)