Go 中的 Os Exec Sudo 命令
背景
在探索 Go 和 goroutine 时,用户执行命令时可能会遇到困难格式:
sudo find /folder -type f | while read i; do sudo -S chmod 644 "$i"; done
问题
回答
cmd := exec.Command("/bin/sh", "-c", "sudo find ...")
代码修改
以下是修改后的代码:
package main import ( "fmt" "os/exec" ) func main() { cmd := exec.Command("/bin/sh", "-c", "sudo find /folder -type f | while read i; do sudo -S chmod 644 \"\"; done") out, err := cmd.CombinedOutput() if err != nil { fmt.Printf("Error: %s\nOutput: %s", err, out) } }
以上是为什么在 Go 中运行 `sudo` 命令时 `exec.Command()` 返回退出状态 1?的详细内容。更多信息请关注PHP中文网其他相关文章!