Maison > Article > développement back-end > Pourquoi `exec.Command()` renvoie-t-il l'état de sortie 1 lors de l'exécution de commandes `sudo` dans Go ?
Commande Os Exec Sudo dans Go
Contexte
Lors de l'exploration de Go et des goroutines, les utilisateurs peut rencontrer des difficultés à exécuter des commandes avec le format :
sudo find /folder -type f | while read i; do sudo -S chmod 644 "$i"; done
Question
Réponse
cmd := exec.Command("/bin/sh", "-c", "sudo find ...")
Modifications du code
Voici le code modifié :
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) } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!