Las variables de entorno (env-vars) se utilizan para guardar el valor de todo el sistema y el propio sistema, el usuario, los procesos o las aplicaciones pueden acceder a esos valores más tarde. Cada Sistema Operativo tiene su propia forma de crear variables de entorno, en este artículo veremos cómo hacerlo para MacOS.
Visualizar todas las Variables de Ambiente
En MacOS se pueden ver todas las variables de ambiente usando el comando printenv
agamboa% printenv PATH=/Users/agamboa/.nvm/versions/node/v12.8.0/bin:/usr/local/opt/postgresql@9.5/bin:/Users/agamboa/.jenv/shims:/usr/local/opt/gradle@6/bin:/usr/local/opt/awscli@1/bin:/usr/local/opt/awscli@1/bin:/usr/local/opt/openjdk@8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin SHELL=/bin/zsh TERM=xterm-256color USER=agamboa TMPDIR=/var/folders/7t/0bw1wkx14bb5tq783t7lx_gw0000gp/T/ COMMAND_MODE=unix2003 LOGIN_SHELL=1
Ver una Variable de Ambiente específica
Ver el valor de una variable de ambiente específica es posible con el comando echo $<env-var name>
% echo $PATH /Users/agamboa/.nvm/versions/node/v12.8.0/bin:/usr/local/opt/postgresql@9.5/bin:/Users/agamboa/.jenv/shims:/usr/local/opt/gradle@6/bin:/usr/local/opt/awscli@1/bin:/usr/local/opt/awscli@1/bin:/usr/local/opt/openjdk@8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin
Agregar una variable de Ambiente
Hay dos formas de establecer una variable de entorno: temporalmente y permanentemente. Una variable de entorno temporal es aquella a la que solo se puede acceder durante la sesión actual del terminal, una vez que se cierra el terminal, se eliminará el valor de env-var. Podemos usar el comando export <EnvVarName>=<EnvVarValue>
.
% export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home"
Para configurar una variable de entorno de forma permanente, sin necesidad de configurarla cada vez que se abre el terminal. Primero se requiere saber cuál es el tipo de shell
en nuestro MacOS, tenemos bash
y zsh
como posibles tipos.
En caso de que el tipo de shell sea bash
, se deben agregar env-vars a los archivos .bashrc
o .bash_profile
. En el caso de que zsh
sea del tipo shell, entonces el archivo es .zshrc
. Entonces, agreguemos una nueva línea en el archivo correspondiente.
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home"
Una vez guardado el archivo, podemos cerrar el terminal y volver a abrirlo. A partir de ahora, el env-var se configurará automáticamente. Otra forma sin cerrar la terminal es ejecutar. source <shell-file>
.
% source ~/.zshrc
Conclusión
Hemos visto cómo ver y configurar variables de entorno en MacOS, esto debería facilitarle la configuración de paquetes de software en el futuro.