Ich suche etwas in Go, wo ich den Benutzer in eine andere Shell bei der Anmeldung starten. Also diese App wird einige Arbeit bei der Anmeldung tun und dann den Benutzer in eine Bash-Shell fallen lassen und dann beim Beenden mehr Arbeit machen und dann beenden. Ich kann es nicht in eine Schale bringen.Go: Wie man eine Bash Shell erzeugt
package main
import (
"fmt"
"os/exec"
)
func main() {
proc := exec.Command("/bin/bash")
out, e := proc.StdoutPipe()
proc.Start()
fmt.Println("Ran a shell in go")
fmt.Println(out)
fmt.Println(e)
}
Das geht einfach gleich.
Ich muss zugeben, ich verstehe das Problem nicht vollständig. Du brauchst eine neue Shell in der Shell? Wenn ich richtig verstehe, könnte etwas wie die folgenden helfen: 'syscall.Exec (os.Getenv (" SHELL "), [] string {os.Getenv (" SHELL ")}, syscall.Environ()) ' – noisewaterphd