Heim >Backend-Entwicklung >Golang >Wie erfasst man die Systembefehlsausgabe als String in Go?
Wenn Sie mit externen Systembefehlen in Go arbeiten, müssen Sie möglicherweise deren Ausgabe erfassen und in Ihrem Programm speichern. Während die Pakete exec und os verschiedene Befehle für die Prozessausführung bieten, erfordern sie normalerweise Dateiargumente für die Verarbeitung von Standardeingaben/-ausgaben. Dieser Artikel befasst sich mit einem vereinfachten Ansatz zum Erfassen der Befehlsausgabe als Zeichenfolge.
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) }
In diesem Beispiel wird exec.Command("date").Output() verwendet Führen Sie den Datumsbefehl aus und erfassen Sie seine Ausgabe in der Out-Variablen. Die Output()-Methode gibt die Standardausgabe des Befehls in Form eines []Byte-Slices zurück, das mit string(out) einfach in einen String umgewandelt werden kann.
Alternativ können Sie CombinedOutput() anstelle von Output() verwenden, das sowohl Standardausgabe als auch Standardfehler zurückgibt. Darüber hinaus können Sie mit der Funktion exec.Command weitere Parameter festlegen, z. B. das Arbeitsverzeichnis des Befehls, Umgebungsvariablen und Eingaben.
Das obige ist der detaillierte Inhalt vonWie erfasst man die Systembefehlsausgabe als String in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!