32 lines
503 B
Go
32 lines
503 B
Go
// Package execy runs external commands.
|
|
package execy
|
|
|
|
import (
|
|
"os/exec"
|
|
)
|
|
|
|
var runner = Runner(&osRunner{})
|
|
|
|
// Runner executes external commands.
|
|
type Runner interface {
|
|
Run(cmd *exec.Cmd) error
|
|
}
|
|
|
|
// osRunner runs OS programs.
|
|
type osRunner struct{}
|
|
|
|
func (r *osRunner) Run(cmd *exec.Cmd) error {
|
|
return cmd.Run()
|
|
}
|
|
|
|
func Run(cmd *exec.Cmd) error {
|
|
return runner.Run(cmd)
|
|
}
|
|
|
|
// CmdOut represents the result of the command run.
|
|
type CmdOut struct {
|
|
Stdout string
|
|
Stderr string
|
|
Err error
|
|
}
|