Golang OS getenv

Golang OS getenv
Zmienna środowiskowa odnosi się do mechanizmu dostarczania dynamicznych informacji konfiguracyjnych do programów UNIX w czasie wykonywania. Zmienne środowiskowe są bardzo przydatne, ponieważ pomagają zdefiniować dynamiczną konfigurację i zachowania dla aplikacji opartych na środowisku.

W systemach Linux przykłady zmiennych środowiskowych obejmują lokalizację programów wykonywalnych w systemie plików, powłoki użytkownika, PWD, katalogu domowego dla określonego użytkownika, MOTD i wielu innych.

Go, nowoczesny i rozległy język programowania zapewnia pakiet systemu operacyjnego do interakcji ze zmiennymi środowiskowymi.

Omówimy podstawy pracy ze zmiennymi środowiskowymi w języku Go w całym samouczku.

Getenv

Pierwszą metodą, którą zamierzamy omówić, jest metoda getenv. Ta metoda pozwala odzyskać wartości zmiennej środowiskowej. Funkcja przyjmuje nazwę zmiennej środowiska jako parametru i zwraca jej powiązaną wartość.

Jeśli określona zmienna środowiska nie istnieje w systemie, funkcja zwraca pustą wartość. Może to być nieco mylące, jeśli zmienna środowiskowa istnieje, ale nie jest w stanie.

Składnia funkcji jest jak pokazana:

OS.Getenv (klucz)

Rozważ poniższy przykład:

Pakiet Main
import (
„FMT”
„OS”
)
func main ()
fmt.Println („Home:”, OS.Getenv („dom”))

Przykład przyniesie wartość katalogu domowego dla użytkownika. Przykładem jest to, jak pokazano:

$ idź run getenv.Iść
Strona główna: C: \ Użytkownicy \ csalem // Windows
Strona główna: /Home /Debian // Debian

Lookupenv

Jak wspomniano, funkcja getenv zwraca pustą wartość, jeśli zmienna środowiskowa nie istnieje. Jednak funkcja zwróci również pustą wartość, jeśli zmienna środowiskowa nie zostanie ustawiona.

Aby to rozwiązać, możemy użyć funkcji LookUpenv (). Funkcja odzyska wartość zmiennej środowiskowej, jeśli istnieje i zwróci logiczną prawdę. Jeśli zmienna środowiskowa nie istnieje, funkcja zwraca pustą wartość i logiczny fałsz.

Rozważ poniższy przykład:

FUNC LOBHUP (String Key)
_, znaleziono: = OS.Lookupenv (klucz)
Jeśli znaleziono
fmt.Println („Znaleziono zmienną środowiska”)
w przeciwnym razie
fmt.Println („Nie znaleziono zmiennej środowiska”)

Przykład zawiera funkcję, która przyjmuje zmienną środowiskową jako parametr. Następnie używamy wartości klucza, aby sprawdzić, czy istnieje on za pomocą instrukcji IF.

Jeśli uruchomimy powyższy kod z dwoma parametrami, jak pokazano:

Lookup („Home”)
wyszukiwanie („not_there”)

Wynikowe wyjście:

$ idź run getenv.Iść
Znaleziono zmienną środowiska
Nie znaleziono zmiennej środowiska

Setenv

Co jeśli chcemy ustawić wartość dla określonej zmiennej środowiska? W takim scenariuszu możemy użyć funkcji setenv (). Funkcja przyjmuje klucz (nazwa zmiennej środowiska) i jej powiązaną wartość jako parametry.

Poniższy przykład ustawia wartość powłoki użytkownika:

func set_shell ()
fmt.Println („przed:”, OS.Getenv („powłoka”))
OS.Setenv („powłoka”, „/bin/zsh”)
fmt.Println („After:”, OS.Getenv („powłoka”))

Powyższy przykład ustawia wartość zmiennej środowiska powłoki na „/bin/zsh”. Przykładem wyjścia jest:

Przed: /bin /bash
Po: /bin /zsh

Unsetenv

Możemy również niezniszczyć zmienną środowiskową za pomocą metody UnsETenV (). Przykładem jest jak pokazano:

func unset_env ()
fmt.Println („Home:”, OS.Getenv („dom”))
OS.UnseTenv („Home”)
fmt.Println („Home:”, OS.Getenv („dom”))

Powyższy przykład nie spowoduje wartości zmiennej Env home.

Wyjście:

$ idź run getenv.Iść
Strona główna: C: \ Użytkownicy \ csalem // Windows
Dom:

Otaczać

Metoda Environ () umożliwia wymienienie wszystkich zmiennych środowiskowych w systemie. Funkcja zwraca wynik w postaci par kluczowych.

Przykład jest pokazany poniżej:

FUNC LIST_ENV ()
dla _, env: = zakres OS.Environ ()
Para: = Strings.Splitn (env, „=”, 2)
fmt.Printf („ %s: %s \ n”, para [0], para [1])

Powyższy przykład wykorzystuje metodę środowiska () do wyświetlania wszystkich zmiennych środowiskowych w systemie. Następnie używamy metody podziału do podziału ciągów na pary wartości kluczowej.

Clearenv ()

Jeśli chcesz usunąć wszystkie zmienne środowiskowe w swoim systemie, możesz użyć metody clearenv ().

Ostrożność przy użyciu tej metody, ponieważ zresetuje całą env w systemie.

Aby go użyć, rozważ fragment poniżej:

OS.Clearenv ()

Expandenv

Expandenv () umożliwia zastąpienie $ var rzeczywistą wartością zmiennej środowiskowej wewnątrz ciągu. Jest to bardzo przydatna funkcja podczas pracy z ENV.

Na przykład:

func zamiennik_env ()
fmt.Println (OS.Expandenv („nazwa użytkownika: $ nazwa użytkownika."))

Funkcja rozszerzy zmienną środowiskową „nazwa użytkownika” i zastąpi jej wartość wewnątrz ciągu. Rezultat jest:

Nazwa użytkownika: csalem.

Wniosek

W tym przewodniku zbadano podstawę pracy ze zmiennymi środowiskowymi w języku programowania Go za pomocą pakietu systemu operacyjnego.