In diesem Handbuch werden wir untersuchen, wie wir das Exec -Paket verwenden können, um externe Befehle auszuführen.
Importieren des Exec -Pakets
Um das Exec -Paket zu verwenden, müssen wir es importieren. Wir können dies mit einem einfachen Importbefehl als:
Importieren "OS/Exec"Nach dem Import können Sie Befehle ausführen, wie wir in diesem Artikel sehen werden.
Golang führen Befehle aus
Beginnen wir mit einem grundlegenden Befehlsaufruf, um zu veranschaulichen, wie das Exec -Paket verwendet wird. Ein Beispielcode ist wie unten gezeigt:
Paket MainIm obigen Beispiel verwenden wir den Befehl exec, um die Liste der Dateien und Verzeichnisse mit dem Befehl DIR zu erhalten.
Wir beginnen damit, den Befehl zu definieren, der mit der Befehlsmethode ausgeführt wird. Die Syntax ist wie gezeigt:
Func -Befehl (Name Zeichenfolge, Arg… String) *CMDDie Funktion nimmt die Befehle zum Ausführen als String -Argument. Anschließend wird eine Befehlsstruktur zurückgegeben, um den Befehl mit den angegebenen Argumenten auszuführen.
Der nächste Schritt besteht darin, den Befehl mit der Kombinationsputmethode auszuführen. Die Methodensyntax ist wie gezeigt:
func (c *cmd) kombinierteOutput () ([] Byte, Fehler)Die Methode führt den Befehl aus und gibt den kombinierten Stdout und Stderr zurück. Dadurch wird eine Bytescheibe zurückgegeben, die wir mit der String -Methode in eine Zeichenfolge konvertieren.
Sobald Sie den obigen Code ausgeführt haben, sollte er die Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis zurückgeben.
Setzen Sie das aktuelle Arbeitsverzeichnis
Wir können das aktuelle Arbeitsverzeichnis definieren, nach dem der Befehl mit dem CMD ausgeführt werden soll.Dir Variable. Ein Beispiel ist wie gezeigt:
Paket MainErfassen Sie Stdout & Stderr separat.
Anstatt Stdout und Stderr zu kombinieren, können Sie sie separat erfassen, wie im folgenden Code gezeigt:
CMD: = exec.Befehl ("Dir")OS angeben
Sie können auch benutzerdefinierte Befehle für ein anderes Betriebssystem mit der Laufzeit definieren.Goos -Methode. Zum Beispiel:
Ifrundime.Goos == "Windows"Rohrbefehle
Sie können auch die Ausgabe eines vorherigen Befehls wie im obigen Beispiel angezeigt:
Paket MainDer obige Befehl sollte die Anzahl der Zeichen aus dem Echo -Befehl zurückgeben.
Schließen
Diese kurze Anleitung zeigt, wie Sie mit dem Exec -Paket in Golang beginnen.