Introducción
Un entorno es un área que contiene información sobre cómo se comportan varios programas y aplicaciones. Las variables de entorno de Linux son utilizadas por las aplicaciones para obtener información sobre el entorno.
El entorno se configura cada vez que se crea una nueva sesión de shell. Cambiar las variables de entorno de Linux ayuda al usuario a controlar cómo interactúan con los programas a través del shell, qué valores predeterminados se utilizan para la apariencia de la ventana del shell, el tipo de shell utilizado, el directorio de inicio predeterminado, etc.
Archivo de variables de entorno de Linux
La información requerida para configurar el Entorno se obtiene a través de varios archivos a través de un proceso conocido como Inicialización. El sistema operativo realiza este proceso leyendo /etc/profile
y .profile
archivos.
El archivo /etc/profile está bajo el control administrativo de Linux y contiene información esencial que el usuario no puede editar. El archivo .profile está completamente bajo el control del usuario y se puede utilizar para modificar el entorno.
Si está utilizando el shell bash, las variables de entorno del usuario se pueden crear en el archivo .bash_profile y .bashrc.
Si estos archivos no existen, el sistema operativo continúa con la creación del entorno y no muestra ningún error.
El terminal le pide al usuario que ingrese (indicado por el $
firmar) después de que se haya configurado el entorno.
Variables de entorno de Linux
Estos son pares de nombre/valor.
Las variables de entorno se pueden manejar con los siguientes 5 comandos principales.
- printenv
- env
- establecer
- exportar
- desactivar
Veamos cada uno de estos comandos uno por uno.
printenv
se puede utilizar para imprimir el valor de una variable de entorno. Si no se especifica ninguna clave, todos los pares de nombre y valor se imprimen como salida. Estos solo incluyen variables con un alcance global.ejemplo de comando printenv
Las variables de entorno de Linux se definen en letras mayúsculas por convención.
env
también imprime los pares nombre-valor comoprintenv
. Este comando también solo imprime variables con alcance global. Sin embargo, no se puede usar para imprimir valores específicos de variables de entorno.set
se utiliza para imprimir variables de shell, variables de entorno, variables locales y funciones de shell. Estos incluyen variables con alcance tanto local como global.establecer ejemplo de comando
export
se utiliza para crear nuevas variables de entorno que persisten incluso después de que se haya cerrado una sesión de shell.unset
se utiliza para desvincular o eliminar una variable de entorno.
Algunas variables de entorno predefinidas importantes
- IDIOMA: Contiene el idioma actual del sistema.
- NOMBRE DE USUARIO: Contiene el nombre de usuario del usuario actual.
- Personas con discapacidad: Contiene la ruta del directorio actual.
- RUTA: Contiene una lista de directorios separados por dos puntos en los que el sistema busca ejecutables.
- INICIO: Contiene la ruta del directorio de inicio.
- CONCHA: Contiene la ruta al shell preferido del usuario.
- EDITOR: Contiene comando para ejecutar el editor ligero. Por ejemplo:
/usr/bin/nano
- VISUALES: Contiene un comando para ejecutar el editor utilizado para tareas de edición pesadas. Por ejemplo:
Vi
(Empuje) - NAVEGADOR: Contiene un comando para ejecutar el navegador web predeterminado.
Operaciones de variables de entorno
Veamos algunas operaciones de variables de entorno comunes en Linux.
1. Creación de nuevas variables de entorno
Las nuevas variables se pueden crear simplemente escribiendo un nuevo nombre de variable y asignándole un valor en ""
, separados por =
firmar.
No debe haber espacios entre =
y nombre/valor de la variable. De lo contrario, la terminal devolverá un error.
Una vez que se crea la variable, sus valores se muestran usando el echo
comando.
nuevo ejemplo de variable env
Un $
El signo debe preceder al nombre de la variable mientras se muestra el valor mediante eco, como se muestra en el ejemplo anterior. Sin embargo, no es necesario al crear una nueva variable.
Ahora que hemos creado una nueva variable de entorno, intentemos encontrarla en la lista de variables que muestra printenv
e imprimir su valor.
Esto se puede hacer usando el comando grep.
ejemplo de variable grep env
No se muestra ninguna salida. Esto se debe a que, aunque hemos definido una nueva variable de entorno, todavía tenemos que "exportarla" al archivo que contiene los nombres de todas las variables.
La exportación permite que otros programas y subcapas puedan acceder a la variable.
Esto se logra mediante el uso de export
comando que discutimos en la última sección.
$ export [VARIABLE_NAME]
ejemplo de comando de exportación
Ahora se muestra el valor de la variable. Incluso se puede acceder en una nueva subcapa.
ejemplo de exportación de subcapa
Podemos salir de la subcapa escribiendo exit
dominio. Esto nos lleva de vuelta al caparazón original.
2. Cambio de valores de variables existentes
Las variables existentes se pueden editar simplemente asignándoles un nuevo valor. Podemos ver los cambios realizados imprimiendo el valor de la variable usando echo
.
cambiando el valor de la variable env
3. Eliminación de variables de entorno
El unset
El comando se utiliza para eliminar las variables de entorno existentes.
$ unset [VARIABLE_NAME]
ejemplo de comando desarmado
Variables de entorno persistentes frente a no persistentes
Todas las variables de entorno que hemos tratado hasta ahora han sido variables no persistentes. Los cambios realizados en estos solo duran hasta que el shell actual está activo y no afectan las nuevas ventanas de shell. Una vez que se cierra la sesión actual, se pierden todos los cambios realizados en las variables, creadas o editadas.
Para conservar los cambios a través de nuevas sesiones y ventanas, podemos crear variables de entorno persistentes. Estos se crean definiendo variables dentro del archivo de variables de entorno en el directorio de inicio:.profile, .bash_profile y .bashrc.
Podemos abrir el .bashrc
archivo usando nano o vim .
accediendo al archivo .bashrc
Defina una nueva variable en cualquier lugar dentro de .bashrc
archivo usando export
dominio. Guarde los cambios y salga del archivo.
definiendo la variable env en .bashrc
Cierre la sesión de terminal actual y abra una nueva.
Ahora, imprima la variable de entorno que acaba de crear usando el echo
comando.
ejemplo de salida de variable de entorno persistente
Podemos ver que la variable persiste incluso después de crear una nueva sesión de terminal y cerrar la anterior.
Conclusión
Las variables de entorno son muy importantes y útiles. Pueden modificar el funcionamiento de los programas y facilitar al usuario la interacción con ellos. Las variables existentes se pueden modificar fácilmente según la necesidad del usuario. Además, también se pueden crear fácilmente nuevas variables. Las variables de entorno pueden cambiar la forma en que el usuario interactúa con el shell e incluso acelerar el acceso a ciertos programas.