DockerCLI/vendor/github.com/mattn/go-shellwords/util_windows.go

27 lines
462 B
Go
Raw Normal View History

// +build windows,go1.6
package shellwords
import (
"errors"
"os"
"os/exec"
"strings"
)
func shellRun(line, dir string) (string, error) {
shell := os.Getenv("COMSPEC")
cmd := exec.Command(shell, "/c", line)
if dir != "" {
cmd.Dir = dir
}
b, err := cmd.Output()
if err != nil {
if eerr, ok := err.(*exec.ExitError); ok {
b = eerr.Stderr
}
return "", errors.New(err.Error() + ":" + string(b))
}
return strings.TrimSpace(string(b)), nil
}