Heim > Backend-Entwicklung > Golang > Wie erfasst man die Systembefehlsausgabe als String in Go?

Wie erfasst man die Systembefehlsausgabe als String in Go?

Susan Sarandon
Freigeben: 2024-12-19 01:28:11
Original
398 Leute haben es durchsucht

How to Capture System Command Output as a String in Go?

Ausgabe von Systembefehlen in Go erfassen

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.

Vereinfachter Ansatz

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)
}
Nach dem Login kopieren

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.

Weitere Überlegungen

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage