diff options
| author | Jeff Carr <[email protected]> | 2024-02-10 16:31:19 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-02-10 16:31:19 -0600 |
| commit | c877c3886d804a9eadb22657403f574684c024f5 (patch) | |
| tree | 907e4ff83123eae78fc3757299c90b96645e0760 /run.go | |
| parent | 0b634a2a53c1b88f1dcb0f5593d7f59542055cb0 (diff) | |
updates after 4 years
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'run.go')
| -rw-r--r-- | run.go | 39 |
1 files changed, 35 insertions, 4 deletions
@@ -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 { |
