Golang OS getenv

Golang OS getenv
Una variabile di ambiente si riferisce a un meccanismo per il provisioning delle informazioni di configurazione dinamica ai programmi UNIX in fase di esecuzione. Le variabili di ambiente sono molto utili in quanto aiutano a definire la configurazione e i comportamenti dinamici per le applicazioni in base all'ambiente.

Nei sistemi Linux, esempi di variabili di ambiente includono la posizione dei programmi eseguibili all'interno del filesystem, la shell dell'utente, PWD, Home Directory per un utente specifico, MOTD e molti altri.

Go, un linguaggio di programmazione moderno e vasto fornisce il pacchetto del sistema operativo per interagire con le variabili di ambiente.

Copriremo i fondamentali del lavoro con le variabili di ambiente nella lingua Go in questo tutorial.

Getenv

Il primo metodo che copriremo è il metodo GetEnv. Questo metodo consente di recuperare i valori di una variabile di ambiente. La funzione prende il nome della variabile di ambiente come parametro e restituisce il valore associato.

Se la variabile di ambiente specificata non esiste sul sistema, la funzione restituisce un valore vuoto. Questo può essere un po 'confuso se esiste la variabile di ambiente ma non è.

La sintassi della funzione è come mostrata:

sistema operativo.Getenv (chiave)

Considera l'esempio seguente:

Pacchetto principale
importazione (
"FMT"
"OS"
)
func main ()
fmt.Println ("home:", sistema operativo.Getenv ("casa"))

L'esempio recupererà il valore della directory home per l'utente. Un output di esempio è come mostrato:

$ go run getenv.andare
Home: C: \ Users \ CSalem // Windows
Home: /Home /Debian // Debian

Lookupenv

Come accennato, la funzione GEENV restituisce un valore vuoto se la variabile di ambiente non esiste. Tuttavia, la funzione restituirà anche un valore vuoto se la variabile di ambiente non è impostata.

Per risolvere questo problema, possiamo usare la funzione LookUnv (). La funzione recupererà il valore della variabile dell'ambiente se esiste e restituirà un vero vero. Se la variabile di ambiente non esiste, la funzione restituisce un valore vuoto e un falso booleano.

Considera l'esempio seguente:

Func Lookup (Key String)
_, trovato: = OS.LookUnv (Key)
se trovato
fmt.Println ("Variabile ambientale trovato")
altro
fmt.Println ("variabile ambient non trovata")

L'esempio contiene una funzione che prende la variabile di ambiente come parametro. Usiamo quindi il valore della chiave per verificare se esiste usando un'istruzione if.

Se eseguiamo il codice sopra con due parametri come mostrato:

ricerca ("casa")
Lookup ("not_there")

L'output risultante:

$ go run getenv.andare
Variabile Environmet trovato
Variabile ambient non trovata

Setenv

Cosa succede se vogliamo impostare un valore per una variabile di ambiente specifica? In tale scenario, possiamo usare la funzione setenv (). La funzione prende la chiave (nome della variabile di ambiente) e il valore associato come parametri.

L'esempio seguente imposta il valore della shell dell'utente:

func set_shell ()
fmt.Println ("prima:", sistema operativo.Getenv ("shell"))
sistema operativo.Setenv ("shell", "/bin/zsh")
fmt.Println ("dopo:", sistema operativo.Getenv ("shell"))

L'esempio sopra imposta il valore della variabile dell'ambiente shell su "/bin/zsh". Un output di esempio è come:

Prima: /bin /bash
Dopo: /bin /zsh

UNSETENV

Possiamo anche sconfiggere una variabile di ambiente usando il metodo Unsetenv (). Un esempio è come mostrato:

func unset_env ()
fmt.Println ("home:", sistema operativo.Getenv ("casa"))
sistema operativo.Unsetenv ("casa")
fmt.Println ("home:", sistema operativo.Getenv ("casa"))

L'esempio sopra indisse il valore della variabile di casa.

Produzione:

$ go run getenv.andare
Home: C: \ Users \ CSalem // Windows
Casa:

Environ

Il metodo Environ () consente di elencare tutte le variabili di ambiente in un sistema. La funzione restituisce il risultato sotto forma di coppie di valore chiave.

Un esempio è mostrato di seguito:

func list_env ()
per _, env: = intervallo os.Environ ()
coppia: = stringhe.Splitn (env, "=", 2)
fmt.Printf (" %s: %s \ n", coppia [0], coppia [1])

L'esempio sopra utilizza il metodo Environ () per elencare tutte le variabili di ambiente nel sistema. Usiamo quindi il metodo splitn per dividere le stringhe in coppie di valore chiave.

Clearenv ()

Se si desidera eliminare tutte le variabili di ambiente nel tuo sistema, è possibile utilizzare il metodo ClearEnv ().

ATTENZIONE Quando si utilizza questo metodo in quanto ripristinerà tutti gli ENV nel sistema.

Per usarlo, considera lo snippet di seguito:

sistema operativo.Clearenv ()

Espandere

L'EnpidenV () consente di sostituire $ var con il valore effettivo di una variabile di ambiente all'interno di una stringa. Questa è una funzione molto utile quando si lavora con Env.

Per esempio:

func sostituti_env ()
fmt.Println (sistema operativo.Expantanv ("Nome utente: $ nome utente."))

La funzione amplierà la variabile dell'ambiente "nome utente" e sostituirà il suo valore all'interno della stringa. Il risultato è come:

Nome utente: csalem.

Conclusione

Questa guida ha esplorato il fondamento del lavoro con le variabili di ambiente nel linguaggio di programmazione Go utilizzando il pacchetto OS.