gpt4 book ai didi

go - 作为另一个用户执行

转载 作者:IT王子 更新时间:2023-10-29 01:46:16 26 4
gpt4 key购买 nike

如何在 GO 中用另一个用户执行 shell 命令,并从中获取输出?

我试过:

cmd :=exec.Command("sudo","su",username, "-c",command)
stdout, err := cmd.StdoutPipe()
CheckErr(err)
cmd.Run()

没有输出。有人知道怎么做吗?

最佳答案

您需要检查运行 cmd.Run 的输出,并且使用 stdout 获取输出比使用管道更简单。

cmd :=exec.Command("sudo","su",username, "-c",command)
cmd.Stderr = os.Stdout
cmd.Stdout = os.Stdout

err := cmd.Run()
CheckErr(err)

这应该可以让您看到错误,这样您就可以找出阻止 sudo 的原因。

关于go - 作为另一个用户执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com