From c877c3886d804a9eadb22657403f574684c024f5 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 10 Feb 2024 16:31:19 -0600 Subject: updates after 4 years Signed-off-by: Jeff Carr --- run.go | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to 'run.go') diff --git a/run.go b/run.go index ed35653..ed62f61 100644 --- a/run.go +++ b/run.go @@ -22,11 +22,42 @@ var msecDelay int = 20 // check every 20 milliseconds // exiterr.Sys().(syscall.WaitStatus) // var newfile *shell.File +func RunString(args string) bool { + return false +} + +func Run(args []string) bool { + dir, err := os.Getwd() + if err != nil { + println("Failed to get current directory:", err) + return false + } -func Run(cmdline string) string { - test := New() - test.Exec(cmdline) - return Chomp(test.Buffer) + return RunPath(dir, args) +} + +func RunPath(path string, args []string) bool { + if len(args) == 0 { + log.Warn("command line was empty") + return false + } + if args[0] == "" { + log.Warn("command line was empty") + return false + } + thing := args[0] + parts := args[1:] + cmd := exec.Command(thing, parts...) + cmd.Dir = path + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + println("path =", path, "cmd =", strings.Join(args, " ")) + if err := cmd.Run(); err != nil { + // Handle error if the command execution fails + println("Error executing command:", err.Error()) + return false + } + return true } func (cmd *Shell) Run(cmdline string) string { -- cgit v1.2.3