Heim > Backend-Entwicklung > Golang > Wie übergebe ich Umgebungsvariablen an „exec.Command' in Go?

Wie übergebe ich Umgebungsvariablen an „exec.Command' in Go?

Patricia Arquette
Freigeben: 2024-11-18 07:15:02
Original
760 Leute haben es durchsucht

How to Pass Environment Variables to `exec.Command` in Go?

Übergabe von Umgebungsvariablen an exec.Command

Beim Erstellen eines Wrapper-Skripts für ein Befehlszeilentool mit exec.Command können Situationen auftreten Hier müssen Sie im Rahmen der Befehlsausführung eine Umgebungsvariable übergeben. In diesem Zusammenhang arbeiten Sie mit ansible-playbook und benötigen die Verwendung eines Parameters MY_VAR.

Die exec.Command-Funktion akzeptiert ein Array von Zeichenfolgen als ersten Parameter, wobei das erste Element den Befehl darstellt ausführen. Um eine Umgebungsvariable zu übergeben, können wir den Bereich der Umgebungsvariablen in der Cmd-Struktur ändern.

In Ihrem Fall haben Sie Probleme beim Überschreiben aller Umgebungsvariablen, wenn Sie das Env-Feld der Cmd-Struktur verwenden. Um dies zu beheben, können Sie die gewünschte Umgebungsvariable an die vorhandene os.Environ()-Liste anhängen:

cmd := exec.Command("ansible-playbook", args...)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "MY_VAR=some_value")
Nach dem Login kopieren

Dieser Ansatz behält die vorhandenen Umgebungsvariablen bei und setzt gleichzeitig die spezifische Umgebungsvariable MY_VAR auf den gewünschten Wert. Durch die Kombination der nativen Funktion os.Environ() mit der Möglichkeit, zusätzliche Umgebungsvariablen anzuhängen, können Sie mithilfe von exec.Command.

Umgebungsvariablen effektiv an Ihre Befehlsausführung übergeben

Das obige ist der detaillierte Inhalt vonWie übergebe ich Umgebungsvariablen an „exec.Command' 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