Heim >Backend-Entwicklung >Golang >Wie kann ich „sudo'-Befehle in Go erfolgreich ausführen?

Wie kann ich „sudo'-Befehle in Go erfolgreich ausführen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 05:38:09885Durchsuche

How Can I Successfully Execute `sudo` Commands in Go?

Ausführen von „sudo“-Befehlen in Go

Beim Versuch, in Go Befehle auszuführen, die mit „sudo“ beginnen, kann es zu einem Fehler kommen Code von „Exit-Status 1.“ Ziel dieses Artikels ist es, dieses Problem zu beheben, indem eine benutzerdefinierte Funktion vorgestellt wird, die die Ausführung von „sudo“-Befehlen ermöglicht.

Das bereitgestellte Codebeispiel nutzt die Funktion „exec.Command“, die direkt mit dem Kernel interagiert, um einen auszuführen gegebener Prozess. Bei komplexen Befehlen, an denen mehrere Programme beteiligt sind, die durch ein Shell-Skript verbunden sind (wie in „sudo find ...“), schlägt dieser Ansatz jedoch fehl.

Um Shell-Skripte auszuführen, ändern Sie Ihren Code wie folgt:

cmd := exec.Command("/bin/sh", "-c", "sudo find ...")

Mit diesem Befehl wird Ihr „sudo“-Befehl erfolgreich ausgeführt. Erwägen Sie die Verwendung dieses Ansatzes, um „sudo“-Befehle zu verarbeiten und Berechtigungen in Ihren Go-Anwendungen effektiv zu verwalten.

Das obige ist der detaillierte Inhalt vonWie kann ich „sudo'-Befehle in Go erfolgreich ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn