summaryrefslogtreecommitdiff
path: root/run.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-10 16:31:19 -0600
committerJeff Carr <[email protected]>2024-02-10 16:31:19 -0600
commitc877c3886d804a9eadb22657403f574684c024f5 (patch)
tree907e4ff83123eae78fc3757299c90b96645e0760 /run.go
parent0b634a2a53c1b88f1dcb0f5593d7f59542055cb0 (diff)
updates after 4 years
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'run.go')
-rw-r--r--run.go39
1 files changed, 35 insertions, 4 deletions
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 {