En los sistemas de Linux, los ejemplos de variables de entorno incluyen la ubicación de los programas ejecutables dentro del sistema de archivos, el shell de usuario, pwd, directorio de inicio para un usuario específico, MOTD y muchos más.
Go, un lenguaje de programación moderno y vasto proporciona el paquete del sistema operativo para interactuar con las variables de entorno.
Cubriremos los fundamentos de trabajar con variables de entorno en el idioma GO a lo largo de este tutorial.
Getenv
El primer método que vamos a cubrir es el método getenv. Este método le permite recuperar los valores de una variable de entorno. La función toma el nombre de la variable de entorno como parámetro y devuelve su valor asociado.
Si la variable de entorno especificada no existe en el sistema, la función devuelve un valor vacío. Esto puede ser un poco confuso si la variable de entorno existe pero no es.
La sintaxis de la función es como se muestra:
sistema operativo.Getenv (clave)
Considere el ejemplo a continuación:
paquete principal
importar (
"FMT"
"OS"
)
func Main ()
fmt.Println ("Inicio:", OS.Getenv ("inicio"))
El ejemplo recuperará el valor del directorio de inicio para el usuario. Una salida de ejemplo es como se muestra:
$ Go Run Getenv.ir
Inicio: C: \ Users \ Csalem // Windows
Inicio: /Home /Debian // Debian
Lookupenv
Como se mencionó, la función getenv devuelve un valor vacío si la variable de entorno no existe. Sin embargo, la función también devolverá un valor vacío si la variable de entorno no está establecida.
Para resolver esto, podemos usar la función LookUpenv (). La función recuperará el valor de la variable de entorno si existe y devolverá un verdadero booleano. Si la variable de entorno no existe, la función devuelve un valor vacío y un falso booleano.
Considere el ejemplo a continuación:
FUNC Lookup (Cadena de teclas)
_, encontrado: = OS.Lookupenv (clave)
si se encuentra
fmt.Println ("Variable ambiental encontrada")
demás
fmt.Println ("Variable ambiental no encontrada")
El ejemplo contiene una función que toma la variable de entorno como parámetro. Luego usamos el valor de la clave para verificar si existe usando una instrucción IF.
Si ejecutamos el código anterior con dos parámetros como se muestra:
Búsqueda ("Inicio")
Búsqueda ("no_there")
La salida resultante:
$ Go Run Getenv.ir
Variable ambiental encontrada
Variable ambiental no encontrada
Setenv
¿Qué pasa si queremos establecer un valor para una variable de entorno específica?? En tal escenario, podemos usar la función setenv (). La función toma la clave (nombre de la variable de entorno) y su valor asociado como parámetros.
El siguiente ejemplo establece el valor del shell de usuario:
func set_shell ()
fmt.Println ("antes:", OS.Getenv ("shell"))
sistema operativo.Setenv ("shell", "/bin/zsh")
fmt.Println ("After:", OS.Getenv ("shell"))
El ejemplo anterior establece el valor de la variable de entorno de shell a "/bin/zsh". Una salida de ejemplo es como:
Antes: /bin /bash
Después de: /bin /zsh
No indicativo
También podemos anular una variable de entorno utilizando el método unsetenv (). Un ejemplo es como se muestra:
FUNC unset_env ()
fmt.Println ("Inicio:", OS.Getenv ("inicio"))
sistema operativo.Unsetenv ("Inicio")
fmt.Println ("Inicio:", OS.Getenv ("inicio"))
El ejemplo anterior desanimará el valor de la variable de envía en casa.
Producción:
$ Go Run Getenv.ir
Inicio: C: \ Users \ Csalem // Windows
Hogar:
Reinar
El método Environ () le permite enumerar todas las variables de entorno en un sistema. La función devuelve el resultado en la forma de pares de valor clave.
A continuación se muestra un ejemplo:
FUNC list_env ()
para _, env: = rango OS.Environ ()
Par: = cadenas.Splitn (env, "=", 2)
fmt.Printf (" %s: %s \ n", par [0], par [1])
El ejemplo anterior utiliza el método Environ () para enumerar todas las variables de entorno en el sistema. Luego usamos el método Splitn para dividir las cadenas en pares de valor clave.
Clearenv ()
Si desea eliminar todas las variables de entorno en su sistema, puede usar el método ClearEnv ().
PRECAUCIÓN Al usar este método, ya que restablecerá todos los env en el sistema.
Para usarlo, considere el fragmento a continuación:
sistema operativo.Clearenv ()
Expansión
Expandenv () le permite reemplazar el $ Var con el valor real de una variable de entorno dentro de una cadena. Esta es una función muy útil cuando se trabaja con env.
Por ejemplo:
FUNC reemplazar_env ()
fmt.Println (OS.Expandenv ("nombre de usuario: $ nombre de usuario."))
La función ampliará la variable de entorno "nombre de usuario" y sustituirá su valor dentro de la cadena. El resultado es como:
Nombre de usuario: Csalem.
Conclusión
Esta guía exploró la base de trabajar con variables de entorno en el lenguaje de programación GO utilizando el paquete OS.