Systembefehlsausgabe als String in Go abrufen
Beim Ausführen von Systembefehlen innerhalb eines Go-Programms ist es oft wünschenswert, die Ausgabe als zu speichern eine Zeichenfolge zur weiteren Verarbeitung oder Anzeige. Dies kann mit der Funktion exec.Command() erreicht werden.
In älteren Versionen von Go umfasste dieser Prozess die Verwaltung von Dateiargumenten für Standardausgabe und Fehler. Modernes Go bietet jedoch einen einfacheren Ansatz.
Lösung mit Output():
Um die Ausgabe eines Systembefehls als Byte-Array zu erfassen, verwenden Sie die Funktion Output( )-Methode von exec.Command(). Hier ein Beispiel:
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) }
Die Out-Variable enthält die Standardausgabe des Datumsbefehls als Byte-Array. Sie können es einfach mit string(out) in einen String konvertieren.
Alternative: CombinedOutput()
Die CombinedOutput()-Methode gibt sowohl die Standardausgabe als auch die Standardfehlerausgabe zurück ein Byte-Array, das eine bequeme Möglichkeit bietet, beide Ausgabetypen zu erfassen.
Zusammenfassend lässt sich sagen, dass die Verwendung von exec.Command() und Output() oder CombinedOutput() Mit den Methoden können Sie die Ausgabe eines Systembefehls als Zeichenfolge oder Byte-Array in Go abrufen und so die Interaktion mit externen Befehlen vereinfachen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Systembefehlsausgabe als String in Go abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!