diff options
| author | Jeff Carr <[email protected]> | 2024-03-21 19:44:38 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-03-21 19:44:38 -0500 |
| commit | 5553bda4979d88f2162e9f78677a91b8f024b8f0 (patch) | |
| tree | bbb55d8557ee7ff4f948edf15a7fdbeeeacb9956 | |
| parent | 16715e0252c5b545e5e6d3dabef169ec5fce5305 (diff) | |
add shell.Output()v0.22.3
| -rw-r--r-- | run.go | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -212,3 +212,36 @@ func RunCmdRun(workingpath string, parts []string) error { } return nil } + +// run, but set the working path +func Output(path string, args []string) *RunResult { + r := new(RunResult) + r.Path = path + r.Argv = args + if len(args) == 0 { + r.Ok = true + r.Err = ErrorArgvEmpty + return r + } + if args[0] == "" { + r.Ok = false + r.Err = ErrorArgvEmpty + return r + } + thing := args[0] + parts := args[1:] + cmd := exec.Command(thing, parts...) + cmd.Dir = path + output, err := cmd.CombinedOutput() + + if err := cmd.Run(); err != nil { + r.Ok = false + r.Err = err + r.Output = output + return r + } + r.Output = output + r.Err = err + r.Ok = true + return r +} |
