Befehlsausgabe als String in Go abrufen
In Go kann der Zugriff auf die Ausgabe von Systembefehlen mit verschiedenen Methoden erreicht werden. Zunächst kann es notwendig erscheinen, bestimmte mit dem Befehl verknüpfte Dateien zu manipulieren, z. B. seine Standardausgabe und Fehlerströme. Es gibt jedoch einen bequemeren Ansatz, um die Ausgabe des Befehls als Zeichenfolge zu erfassen.
Um den Vorgang zu vereinfachen, betrachten wir ein Beispiel: Abrufen der Ausgabe des Befehls „ls“ in einem Go-Programm und Speichern in eine String-Variable. Der folgende Codeausschnitt zeigt, wie dies erreicht wird:
package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) }
Im obigen Beispiel wird exec.Command("date").Output() verwendet, um den Befehl „date“ auszuführen und seine Ausgabe abzurufen. Das Ergebnis wird als Byte-Slice in der Out-Variablen gespeichert. Um es in einen String umzuwandeln, wenden Sie einfach die Funktion string() an:
string(out)
Zusätzlich stellt exec.Command die Methode CombinedOutput() bereit, die anstelle von Output() verwendet werden kann. CombinedOutput() gibt sowohl die Standardausgabe als auch den Standardfehler zurück, sodass Sie mehr Informationen über die Ausführung des Befehls sammeln können.
Das obige ist der detaillierte Inhalt vonWie kann ich die Systembefehlsausgabe als String in Go abrufen und speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!