parent
8e258d67a3
commit
d7a665031c
15
shell.go
15
shell.go
|
@ -76,14 +76,15 @@ func SetStderr(newerr *os.File) {
|
||||||
|
|
||||||
// NOTE: this might cause problems:
|
// NOTE: this might cause problems:
|
||||||
// always remove the newlines at the end ?
|
// always remove the newlines at the end ?
|
||||||
func Run(cmdline string) (int, string, error) {
|
func Run(cmdline string) string {
|
||||||
log.Println("shell.Run() START " + cmdline)
|
log.Println("shell.Run() START " + cmdline)
|
||||||
|
|
||||||
cmd := strings.TrimSpace(cmdline) // this is like 'chomp' in perl
|
cmd := strings.TrimSpace(cmdline) // this is like 'chomp' in perl
|
||||||
cmdArgs := strings.Fields(cmd)
|
cmdArgs := strings.Fields(cmd)
|
||||||
if (len(cmdArgs) == 0) {
|
if (len(cmdArgs) == 0) {
|
||||||
|
callback(fmt.Errorf("cmdline == ''"), 0)
|
||||||
log.Debug("END ", cmd)
|
log.Debug("END ", cmd)
|
||||||
return 0, "", fmt.Errorf("") // nothing to do
|
return "" // nothing to do
|
||||||
}
|
}
|
||||||
if (cmdArgs[0] == "cd") {
|
if (cmdArgs[0] == "cd") {
|
||||||
if (len(cmdArgs) > 1) {
|
if (len(cmdArgs) > 1) {
|
||||||
|
@ -91,7 +92,7 @@ func Run(cmdline string) (int, string, error) {
|
||||||
os.Chdir(cmdArgs[1])
|
os.Chdir(cmdArgs[1])
|
||||||
}
|
}
|
||||||
log.Debug("END ", cmd)
|
log.Debug("END ", cmd)
|
||||||
return 0, "", fmt.Errorf("") // nothing to do
|
return "" // nothing to do
|
||||||
}
|
}
|
||||||
|
|
||||||
process := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
|
process := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
|
||||||
|
@ -167,7 +168,9 @@ func Run(cmdline string) (int, string, error) {
|
||||||
// stuff := err.(*exec.ExitError)
|
// stuff := err.(*exec.ExitError)
|
||||||
log.Debug("ERROR ", err.Error())
|
log.Debug("ERROR ", err.Error())
|
||||||
log.Debug("END ", cmdline)
|
log.Debug("END ", cmdline)
|
||||||
return -1, "", fmt.Errorf(err.Error())
|
// return -1, "", fmt.Errorf(err.Error())
|
||||||
|
callback(fmt.Errorf(err.Error()), -1)
|
||||||
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// log.Println("shell.Run() END buf =", bytesBuffer)
|
// log.Println("shell.Run() END buf =", bytesBuffer)
|
||||||
|
@ -186,7 +189,9 @@ func Run(cmdline string) (int, string, error) {
|
||||||
tmp2 := string(b)
|
tmp2 := string(b)
|
||||||
tmp2 = strings.TrimSuffix(tmp2, "\n")
|
tmp2 = strings.TrimSuffix(tmp2, "\n")
|
||||||
log.Println("shell.Run() END ", cmdline)
|
log.Println("shell.Run() END ", cmdline)
|
||||||
return 0, string(b), fmt.Errorf("") // nothing to do
|
log.Println("shell.Run() calling callback() :")
|
||||||
|
callback(fmt.Errorf("no error"), 0)
|
||||||
|
return string(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Daemon(cmdline string, timeout time.Duration) int {
|
func Daemon(cmdline string, timeout time.Duration) int {
|
||||||
|
|
Loading…
Reference in New Issue