So erhalten Sie Exit-Code mit Go
In Go bietet das Paket os/exec die Möglichkeit, Systembefehle auszuführen. Das Abrufen des Exit-Codes stellt jedoch eine Herausforderung dar.
Exit-Code bei Erfolg abrufen
Wenn ein Befehl mit Exit-Code 0 beendet wird, kehrt die Funktion cmd.Wait() zurück Null.
Exit-Code bei Fehler abrufen (für Linux Nur)
Für Linux-Systeme zeigt der folgende Codeausschnitt, wie man den Exit-Code erhält, wenn der Befehl fehlschlägt:
import ( "fmt" "log" "os/exec" "syscall" ) func main() { cmd := exec.Command("git", "blub") if err := cmd.Start(); err != nil { log.Fatalf("cmd.Start: %v", err) } if err := cmd.Wait(); err != nil { if exiterr, ok := err.(*exec.ExitError); ok { fmt.Printf("Exit Status: %d", exiterr.ExitCode()) } else { log.Fatalf("cmd.Wait: %v", err) } } }
Kein plattformübergreifender Ansatz
Leider gibt es keine plattformübergreifende Methode, um den Exit-Code bei einem Fehler abzurufen. Der os/exec-API fehlt diese Funktionalität von Natur aus.
Zusätzliche Ressource
Dieser umfassende Artikel geht näher auf dieses Thema ein und bietet zusätzliche technische Details: http://golang. org/pkg/os/exec/
Das obige ist der detaillierte Inhalt vonWie rufe ich den Exit-Code eines Systembefehls in Go ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!