In Linux -Systemen umfassen Beispiele für Umgebungsvariablen den Standort ausführbarer Programme im Dateisystem, die Benutzerschale, das PWD, das Heimverzeichnis für einen bestimmten Benutzer, MOTD und viele mehr.
Go, eine moderne und riesige Programmiersprache bietet das Betriebssystempaket, um mit Umgebungsvariablen zu interagieren.
Wir werden die Grundlagen der Arbeit mit Umgebungsvariablen in der GO -Sprache in diesem Tutorial behandeln.
Getenv
Die erste Methode, die wir abdecken werden, ist die Getenv -Methode. Mit dieser Methode können Sie die Werte einer Umgebungsvariablen abrufen. Die Funktion nimmt den Namen der Umgebungsvariablen als Parameter und gibt ihren zugehörigen Wert zurück.
Wenn die angegebene Umgebungsvariable im System nicht vorhanden ist, gibt die Funktion einen leeren Wert zurück. Dies mag ein wenig verwirrend sein, wenn die Umgebungsvariable existiert, aber nicht festgelegt ist.
Die Funktionssyntax ist wie gezeigt:
Betriebssystem.Getenv (Schlüssel)
Betrachten Sie das folgende Beispiel:
Paket Main
importieren (
"fmt"
"OS"
)
func main ()
fmt.Println ("Home:", OS.Getenv ("Home"))
Das Beispiel wird den Wert des Heimverzeichnisses für den Benutzer abrufen. Ein Beispielausgang ist wie gezeigt:
$ go run Getenv.gehen
Startseite: C: \ Benutzer \ csalem // Windows
Startseite: /Home /Debian // Debian
Lookupenv
Wie bereits erwähnt, gibt die Getenv -Funktion einen leeren Wert zurück, wenn die Umgebungsvariable nicht vorhanden ist. Die Funktion gibt jedoch auch einen leeren Wert zurück, wenn die Umgebungsvariable nicht festgelegt ist.
Um dies zu lösen, können wir die Funktion Lookupenv () verwenden. Die Funktion holt den Wert der Umgebungsvariablen ab, wenn sie existiert, und gibt einen booleschen true zurück. Wenn die Umgebungsvariable nicht vorhanden ist, gibt die Funktion einen leeren Wert und einen booleschen Falsch zurück.
Betrachten Sie das folgende Beispiel:
Func Lookup (Schlüsselstring)
_, gefunden: = os.Lookupenv (Schlüssel)
wenn gefunden
fmt.Println ("Umweltvariable gefunden")
anders
fmt.Println ("Umgebungsvariable nicht gefunden")
Das Beispiel enthält eine Funktion, die die Umgebungsvariable als Parameter nimmt. Wir verwenden dann den Wert des Schlüssels, um zu überprüfen, ob er mit einer IF -Anweisung existiert.
Wenn wir den obigen Code mit zwei Parametern ausführen, wie gezeigt:
Lookup ("Zuhause")
Lookup ("Not_there")
Die resultierende Ausgabe:
$ go run Getenv.gehen
Umgebungsvariable gefunden
Umgebungsvariable nicht gefunden
SetEnv
Was ist, wenn wir einen Wert für eine bestimmte Umgebungsvariable festlegen möchten?? In einem solchen Szenario können wir die Funktion setEnv () verwenden. Die Funktion übernimmt den Schlüssel (Name der Umgebungsvariablen) und ihren zugeordneten Wert als Parameter.
Das folgende Beispiel legt den Wert der Benutzerschale fest:
func set_shell ()
fmt.Println ("vor:", os.Getenv ("Shell"))
Betriebssystem.SetEnv ("Shell", "/bin/zsh")
fmt.Println ("nach:", os.Getenv ("Shell"))
Das obige Beispiel legt den Wert der Shell -Umgebungsvariable auf "/bin/zsh" fest. Ein Beispielausgang lautet wie:
Vorher: /bin /bash
Nach: /bin /zsh
Ungesandt
Wir können auch eine Umgebungsvariable mithilfe der methode uneratenv () verunreinigen. Ein Beispiel ist wie gezeigt:
func unet_env ()
fmt.Println ("Home:", OS.Getenv ("Home"))
Betriebssystem.Ungerettert ("Zuhause")
fmt.Println ("Home:", OS.Getenv ("Home"))
Das obige Beispiel wird den Wert der Home Envariable verunreinigen.
Ausgang:
$ go run Getenv.gehen
Startseite: C: \ Benutzer \ csalem // Windows
Heim:
Umwelt
Mit der Methode Environ () können Sie alle Umgebungsvariablen in einem System auflisten. Die Funktion gibt das Ergebnis in der Form von Schlüsselwertpaaren zurück.
Ein Beispiel ist unten gezeigt:
func list_env ()
für _, env: = range os os.Environ ()
Paar: = Strings.Splitn (env, "=", 2)
fmt.Printf (" %s: %s \ n", Paar [0], Paar [1])
Das obige Beispiel verwendet die Methode Environ (), um alle Umgebungsvariablen im System aufzulisten. Wir verwenden dann die Splitnn-Methode, um die Zeichenfolgen in Schlüsselwertpaare aufzuteilen.
Clearenv ()
Wenn Sie alle Umgebungsvariablen in Ihrem System löschen möchten, können Sie die Methode Clearenv () verwenden.
Vorsicht, wenn diese Methode verwendet wird, da sie die gesamte Umwelt im System zurücksetzt.
Betrachten Sie den Snippet unten:
Betriebssystem.Clearenv ()
Expandieren
Mit dem explodEnv () können Sie die $ var durch den tatsächlichen Wert einer Umgebungsvariablen in einer Zeichenfolge ersetzen. Dies ist eine sehr nützliche Funktion bei der Arbeit mit Env.
Zum Beispiel:
func ersetzen_env ()
fmt.Println (os.Expezenv ("Benutzername: $ userername.")))
Die Funktion erweitert die Umgebungsvariable „Benutzername“ und ersetzt ihren Wert innerhalb der Zeichenfolge. Das Ergebnis ist wie:
Benutzername: Csalem.
Abschluss
Dieser Leitfaden untersuchte die Grundlage für die Arbeit mit Umgebungsvariablen in der GO -Programmiersprache mit dem Betriebssystempaket.