How to execute shell command with another user in GO, and get output from it ?
I tried:
cmd :=exec.Command("sudo","su",username, "-c",command)
stdout, err := cmd.StdoutPipe()
CheckErr(err)
cmd.Run()
there is no output. anyone know how to do this?
You need to check the output of running the cmd.Run and also get your output using stdout is simpler than using the pipe.
cmd :=exec.Command("sudo","su",username, "-c",command)
cmd.Stderr = os.Stdout
cmd.Stdout = os.Stdout
err := cmd.Run()
CheckErr(err)
That should give you visibility of the error so you can find out what is occuring that prevents the sudo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With