Las variables de entorno vienen como pares de valor clave donde la clave representa el nombre de la variable y un valor. Puede personalizar los valores de las variables de entorno, con los cambios reflejados a nivel mundial en todas las aplicaciones lanzadas desde el shell.
Esta guía discutirá cómo interactuar con variables de entorno, lectura y configuración de variables de entorno utilizando el shell ZSH.
Cómo funcionan las variables de entorno
Tomemos un momento para comprender cómo funcionan las variables del entorno.
En Linux y otros sistemas basados en UNIX, cada vez que lanzamos una nueva sesión de shell, inicializa un proceso para recopilar la información que debería estar disponible dentro de esa sesión de shell y todos sus procesos infantiles. Dicha información se recopila a partir de archivos de configuración como .ZSHRC, .Zlogin, etc.
El propósito de las variables de entorno es proporcionar un medio simple donde la carcasa puede obtener o establecer configuraciones relacionadas con el sistema.
Las variables de entorno toman el siguiente formato:
Clave = valor
Clave = valor1: valor2
Si la variable de entorno contiene múltiples valores, cada valor está separado por un colon (:). Un ejemplo famoso de tal variable de entorno es la ruta $.
Del mismo modo, si el valor de la variable de entorno contiene espacios, el valor está encerrado en un par de comillas como:
Key = "Valor con espacios"
Las variables de entorno son sensibles a los casos. Se recomienda usar nombres mayúsculas para variables de entorno para distinguirlos dentro de otros contextos.
No debe incluir espacios alrededor del signo igual (=).
Hay dos tipos principales de variables:
Variables de entorno
Las variables de entorno son variables globales heredadas por todos los proyectiles y sus procesos infantiles correspondientes.
Variables de concha
Por otro lado, las variables de la carcasa están disponibles dentro de la carcasa en la que están definidas o establecidas. Se usan comúnmente para almacenar datos temporales y se destruyen automáticamente una vez que se termina la sesión de shell.
Cada caparazón, como Bash, Zsh, Fish y otros, contienen su propio conjunto de variables de concha.
Cómo imprimir variables de entorno
Varias conchas de Linux realizan un seguimiento de sus variables predefinidas de carcasa y entorno. Podemos ver estas variables usando varios comandos.
El comando más común para ver las variables de entorno es el comando printenv. Si ejecuta este comando sin argumentos, imprime todas las variables de entorno como se muestra en el siguiente ejemplo:
printenv
El comando anterior debe imprimir todas las variables de entorno como se muestra:
Shell =/bin/zsh
Session_manager = local/Debian10.Local:@/tmp/.HIELO-
Unix/964, Unix/Debian10.Local:/TMP/.Ice-unix/964
Qt_accessibility = 1
Colorterm = trueColor
Xdg_menu_prefix = gnome-
Gnome_desktop_session_id = this-is-se-depreded
Ssh_auth_sock =/run/user/1000/keyring/ssh
Desktop_session = gnome
Gtk_modules = gail: puente atk
Xdg_seat = asiento0
Pwd =/home/Debian
Xdg_session_desktop = gnome
LogName = Debian
Xdg_session_type = Wayland
GJS_DEBUG_TOPICS = JS Error; js log
Gdm_lang = en_us.UTF-8
Inicio =/Inicio/Debian
Nombre de usuario = Debian
---------Salida truncada-------------------------------------
Usando el comando printenv, puede imprimir una variable individual pasando como argumento. Por ejemplo, para mostrar el valor de la ruta $, puede usar el comando:
ruta de impresión
El comando debe devolver el valor de la variable de ruta como:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
También puede pasar varias variables al comando Printenv como:
$ Printenv Path Home Nombre de usuario
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
/Inicio/Debian
debian
El comando debe imprimir los valores de las variables de entorno pasadas cada una en una línea.
CONSEJO: También puede usar el comando Env para imprimir o establecer los valores de las variables de entorno.
Variables de entorno populares
Las siguientes son algunas variables de entorno estándar.
Cómo imprimir variables de shell
Tanto los comandos PrintenV como Env y Mostrarán las variables de entorno. Use el comando SET para ver todas las variables, incluidas las variables, funciones y variables de entorno locales de shell y locales.
Si ejecuta el comando SET sin ningún parámetros, imprimirá todas las variables como:
colocar
Aquí hay una salida de ejemplo:
'!'= 0
'#' = 0
'$' = 2801
'*' = ()
-= 569jnrxzghiklms
0 = ZSH
'?'= 0
@= ()
Argc = 0
BG
CDPATH = "
Colorterm = trueColor
Columnas = 211
Cputype = x86_64
Dbus_session_bus_address = 'unix: path =/run/user/1000/bus'
Desktop_session = gnome
Display =: 0
EGID = 1000
Epochrealtime
Propietarios
EUID = 1000
FG
Fignore = "
Fpath =/home/debian/.Oh-My-Zsh/Plugins/Git:/Home/Debian/.Oh mi-
ZSH/Funciones:/Home/Debian/.oh-my-zsh/finalizaciones
---Salida truncada----------------------------------------
Los valores impresos desde el comando set son típicamente una lista masiva de elementos que puede filtrar si tuve la salida a comandos como Grep.
Variables de concha populares
Aunque las variables de la carcasa variarán según el caparazón que esté utilizando; Los siguientes son comunes en la carcasa ZSH.
Cómo establecer variables de entorno en ZSH
Para establecer variables de entorno, utilizamos el comando de exportación. La sintaxis es:
exportación clave = valor
Por ejemplo, para crear una variable http_proxy y establecerla en una URL, podemos hacer:
Exportar http_proxy = "http: // 127.0.0.1: 8080 "
Para verificar la creación de la variable, podemos usar el comando Printenv como:
printenv http_proxy
http: // 127.0.0.1: 8080
Una vez que establece una variable de entorno, puede acceder a ella desde todos los procesos infantiles. Por ejemplo:
zsh -c 'echo $ http_proxy'
Sin embargo, las variables de entorno creadas en el método discutido anteriormente solo están disponibles dentro de la sesión de shell actual. Una vez cerrado, todas las variables de entorno se destruyen.
Cómo crear variables de entorno permanente
Si desea crear una variable de entorno que pueda persistir en las sesiones de shell, puede usar los archivos de configuración de shell.
En ZSH, puede definir las variables de entorno en el .archivo zshrc.
Del mismo modo, debe usar el comando de exportación como:
vim ~/.ZSHRC
Exportar http_proxy- "http: // 127.0.0.1: 8080 "
Cierra y guarda el archivo.
Para cargar las variables de entorno en la sesión de shell actual, use el comando de origen como:
fuente ~/.ZSHRC
Conclusión
En esta guía, discutimos cómo trabajar con las variables de entorno y shell en los sistemas Linux. También aprendimos a establecer variables de entorno y aplicar la persistencia en las sesiones de shell.
Gracias por leer.