From 214a77730bd6413bebb39dc04e38078f88965b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paulo=20Sima=CC=83o?= Date: Wed, 16 Feb 2022 21:22:54 -0300 Subject: [PATCH] added err and lookup --- lib.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib.go b/lib.go index 7d6dd64..eed2a57 100644 --- a/lib.go +++ b/lib.go @@ -390,14 +390,18 @@ func ExecStr(str string, opts ...*Opts) (string, error) { cmdwd := opt.Wd - prepCmd := func(l Line) *exec.Cmd { - cmd := exec.Command(l.Tokens[0], l.Tokens[1:]...) + prepCmd := func(l Line) (*exec.Cmd, error) { + str, err := exec.LookPath(l.Tokens[0]) + if err != nil { + return nil, err + } + cmd := exec.Command(str, l.Tokens[1:]...) cmd.Stdout = log.Writer() cmd.Stderr = log.Writer() cmd.Dir = cmdwd opt.SetupProc(cmd) ret = append(ret, cmd) - return cmd + return cmd, nil } lines, err := Lines(str) @@ -423,7 +427,10 @@ func ExecStr(str string, opts ...*Opts) (string, error) { log.Printf("CMDWD NOW IS: %s", cmdwd) continue case LINETYPE_SERIAL, LINETYPE_PARALLEL: - cmd := prepCmd(l) + cmd, err := prepCmd(l) + if err != nil { + return "", err + } if opt.Debug { log.Printf("Running %s from dir %s with params %v", cmd.Path, cmd.Dir, cmd.Args) }