Introducción
Las variables de entorno son una forma de almacenar valores en la máquina local (la que ejecuta el programa). Por ejemplo, puede almacenar una identificación de usuario que se usaría para iniciar sesión en un sistema. También puede usar variables de entorno para almacenar opciones de configuración, como el nombre de una conexión de base de datos.
Al establecer variables de entorno, es importante tener en cuenta las implicaciones de seguridad. Si un atacante puede acceder a las variables de su entorno, podría obtener acceso a información confidencial, como el nombre de usuario y la contraseña. Por lo tanto, es importante proteger los nombres de las variables de entorno.
Aquellos que son nuevos en Mac pueden sentirse abrumados con la forma de configurar y administrar estas variables de entorno. Esta guía proporciona maneras fáciles de hacerlo.
Ver las variables de entorno actuales
Para ver todas las variables de entorno, abra una terminal en macOS y escriba:
printenv
También podemos usar el comando echo para imprimir los valores de variables de entorno específicas:
echo $JAVA_HOME
/usr/local/Cellar/openjdk@11/11.0.16.1/libexec/openjdk.jdk/Contents/Home
De forma predeterminada, la mayoría de las distribuciones de Linux exponen las variables de entorno como pares clave=valor (por ejemplo, clave=”valor”). Estos pares generalmente se almacenan en archivos como /etc/paths
o /etc/defaults/key1
u otras ubicaciones. En algunos casos, se pueden exponer colocando entradas especiales en el archivo .bashrc
o .profile
de un shell.
Establecer una variable de entorno temporal
Una variable de entorno temporal es una variable definida en el búfer de proceso que existe solo durante la ejecución del programa. Se pierde cuando el programa finaliza o si el proceso finaliza y no está disponible para otros programas. El valor de la variable de entorno temporal se pierde cuando el proceso de la aplicación finaliza o finaliza. El valor de una variable de entorno temporal se puede recuperar con la herramienta Process Monitor.
export MY_VAR=value
Luego imprima el valor si MY_VAR con el comando echo
:
export $MY_VAR
Verá el valor asignado como salida. Pero si abre una nueva terminal e intenta imprimir la misma variable.
Por lo tanto, el alcance de la variable de entorno exportada manualmente es solo el shell activo.
Establecer una variable de entorno permanente
Una variable de entorno permanente se define en el archivo de configuración de una aplicación. Persiste incluso después de bifurcaciones y ejecuciones y está disponible para que lo usen todos los procesos en el mismo contexto de ejecución (es decir, todos los procesos en una sola computadora). Las variables de entorno permanentes no se pierden cuando finaliza el proceso de la aplicación o cuando lo finaliza.
Dado que la última versión de macOS usa el shell Zsh, podemos agregar variables de entorno al archivo ~//.zshrc
o ~/.zshenv
para el usuario actual. Por ejemplo, para crear la variable de entorno JAVA_HOME
y también actualizar PATH
para incluir JAVA_HOME
. Edite ~/.zshenv
y agregue los siguientes valores:
export JAVA_HOME=$(/usr/libexec/java_home -v11)
export PATH="$JAVA_HOME/bin:$PATH"
La primera línea establece la variable de entorno JAVA_HOME y el segundo comando antepone el directorio bin de Java a la variable de entorno PATH.
Conclusión
Las versiones anteriores a macOS 10.15 utilizan el shell Bash de forma predeterminada. Editando ese usuario ~/bash_profile
para agregar variables de entorno permanentes.