Sebastiaan van Stijn d2d89ddfad
go.mod: github.com/mattn/go-shellwords v1.0.11
adds go module support, among others

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-09 00:07:23 +02:00

30 lines
505 B
Go

// +build !windows
package shellwords
import (
"fmt"
"os"
"os/exec"
"strings"
)
func shellRun(line, dir string) (string, error) {
var shell string
if shell = os.Getenv("SHELL"); shell == "" {
shell = "/bin/sh"
}
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 "", fmt.Errorf("%s: %w", string(b), err)
}
return strings.TrimSpace(string(b)), nil
}