Wenn man exec.Command in Golang verwendet, hinterlässt das Auftreffen auf den rätselhaften Fehler „Exit-Status 1“ einen Kratzer ihren Kopf für Einzelheiten. Ziel dieses Artikels ist es, die Ursache dieses Fehlers zu beleuchten und eine Lösung für eine detailliertere Diagnose bereitzustellen.
Beachten Sie den folgenden Code:
cmd := exec.Command("find", "/", "-maxdepth", "1", "-exec", "wc", "-c", "{}", "\") var out bytes.Buffer cmd.Stdout = &out err := cmd.Run()
Die Ausführung dieses Codes führt zu dem nicht informativen Fehler „Exit-Status 1“. . Um dies zu beheben, nutzen Sie die Stderr-Eigenschaft des Command-Objekts:
var stderr bytes.Buffer cmd.Stderr = &stderr
Bei der Ausführung wird die Fehlermeldung angezeigt:
exit status 1: find: -exec: no terminating ";" or "+"
Nun, ausgestattet mit diesem detaillierten Fehler, können Sie kann das Problem entsprechend beheben.
Hinweis: Es ist zu bedenken, dass einige Befehle Fehlermeldungen möglicherweise an stdout umleiten statt stderr. Darüber hinaus geben bestimmte Befehle möglicherweise Fehlermeldungen an stderr aus, geben aber dennoch einen Null-Fehlercode zurück (was zu einem Null-Fehler in Ihrem Code führt). Daher kann es erforderlich sein, die angegebene Lösung an die von Ihnen verwendeten spezifischen Befehle anzupassen.
Das obige ist der detaillierte Inhalt vonWarum gibt exec.Command in Go „Exit Status 1' zurück und wie kann ich weitere Informationen erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!