En las publicaciones anteriores, hablamos sobre algunos de los comandos básicos de Linux, hoy continuamos nuestro viaje y hablaremos sobre algo esencial en Linux, que son las variables de entorno de Linux.
Las variables de entorno son un conjunto de valores cambiantes que se integran en todos los sistemas Linux. También se utilizan en otros sistemas basados en Unix con los mismos fines.
Las secuencias de comandos y las aplicaciones utilizan las variables de entorno en varios escenarios. Los usuarios y los procesos del sistema pueden acceder a estas variables de entorno, lo que contrasta con las variables de shell normales.
Variables de entorno comunes
Existe una gran variedad de variables de entorno en el sistema operativo Linux. Pueden ser bastante difíciles de seguir y memorizar.
Pero es extremadamente importante que conozca los más comunes, ya que pueden ser muy útiles en una amplia gama de diferentes escenarios de administración del sistema, así como para uso personal.
Entonces, ya sea como un breve repaso o como una lista informativa, proporcionaremos ejemplos sencillos debajo de una lista completa de algunas de las variables de entorno más comunes.
- USUARIO – Esta variable de entorno es el usuario registrado actualmente en un sistema Linux.
- INICIO – Esta variable de entorno es el directorio de inicio del usuario actual en un sistema Linux.
- EDITOR – Esta variable de entorno es el editor predeterminado que se utiliza para editar archivos .txt en su terminal Linux. Esto permite que los programas determinen qué editor de texto prefiere usar para editar aplicaciones de Linux.
- CONCHA – Esta variable de entorno es la ruta del shell del usuario actual. Se pueden usar muchos shells diferentes en un sistema Linux. Un par de los más comunes son Bash y ZSH. Un shell es lo que interpreta los comandos que está escribiendo, y la sintaxis y los comandos cambiarán dependiendo de cuál esté usando. Para casi todas las distribuciones del sistema operativo Linux, Bash es el valor predeterminado y, con mucho, el más popular.
- NOMBRE DE REGISTRO – Esta variable de entorno es solo el nombre del usuario actual.
- RUTA – Con dos puntos (:), esta variable de entorno es una lista de directorios que se buscarán al ejecutar un comando. Cuando se ejecuta un comando en el sistema, buscará esos directorios en el orden especificado de la ruta del archivo. El sistema continuará buscando en estos directorios hasta que encuentre el primer comando que pueda ejecutar. De lo contrario, recibirá un mensaje de error en su terminal que dice "comando no encontrado".
- IDIOMA – Esta variable de entorno es la configuración regional actual.
- Plazo – Esta variable de entorno es la emulación de terminal.
- CORREO – Esta variable de entorno es donde se almacenará el correo del usuario actual.
Estas son algunas de las variables de entorno con las que debe familiarizarse. También es necesario tener en cuenta que las variables distinguen entre mayúsculas y minúsculas.
Es importante que se asegure de escribir el nombre de la variable con las mayúsculas y minúsculas correctas, de lo contrario, el resultado puede ser completamente diferente.
Aunque no es gran cosa recordarlo, ya que la mayoría de las variables de entorno están en mayúsculas.
Funciones de variables de entorno
Las variables de entorno se pueden utilizar para personalizar la forma en que funciona el sistema. También se pueden utilizar para modificar el código que indica a las aplicaciones del sistema cómo comportarse.
Por ejemplo, muchas aplicaciones del sistema y secuencias de comandos creadas por el usuario requieren acceso al directorio de inicio del usuario actual.
Podemos lograr esto usando el entorno HOME. El uso de HOME para una secuencia de comandos creada por el usuario permitirá que cualquier usuario del sistema ejecute la secuencia de comandos.
$ echo My home directory is $HOME > $HOME/info.log
$ cat $HOME/info.log My home directory is /home/nick
En este tutorial, explicaremos cómo ver las variables de entorno configuradas actualmente y establecer nuevas variables. Cada sistema Linux tiene un conjunto de estas variables de entorno.
Pero también puede establecer nuevas variables de entorno para uso temporal o permanente.
El uso de variables de entorno recién configuradas es particularmente útil cuando necesita que las variables de entorno permanezcan después de un reinicio. En los ejemplos a continuación, mostraremos cómo emplear ambos métodos.
Obtener variables de entorno
El printenv
El comando es una forma de enumerar todas las variables de entorno en Linux. Puede ver cómo usamos su sintaxis en la terminal de Linux en el ejemplo proporcionado a continuación.
$ printenv
Imprimir una lista completa de cada variable de entorno individual en un sistema Linux puede no ser la mejor idea si solo busca obtener la información de una sola variable.
Pero no se preocupe, Linux tiene otra solución conveniente para un problema aparentemente pequeño; también puede usar este comando para enumerar una variable específica escribiendo su nombre después del comando.
La sintaxis para enumerar una variable específica se muestra a continuación.
$ printenv SHELL
Sin embargo, la verificación de variables específicas no se limita a una sola a la vez. También puede listar múltiples variables específicas al mismo tiempo usando el printenv
.
La sintaxis para verificar múltiples variables simultáneamente es la misma; simplemente debe enumerar cada variable de entorno después de escribir el comando printenv. A continuación, mostraremos un ejemplo de su sintaxis.
$ printenv SHELL USER
En un sistema Linux, es posible utilizar variables de entorno a través de la línea de comandos o dentro de un script Bash. La forma en que esto se puede lograr es anteponiendo las variables de entorno con un signo de dólar.
Una de las variables de entorno más comunes con las que se puede editar es la variable $PATH. La variable $PATH permite al usuario especificar un directorio en el que el shell Bash debe buscar aplicaciones cuando ejecuta comandos.
$ printenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Establecer variable de entorno temporal
Como mencionamos en una sección anterior de este tutorial, podemos establecer nuevas variables de entorno en Linux. Si también recuerda, es posible establecer variables temporales y permanentes.
El siguiente comando es un ejemplo de cómo crear una variable de entorno temporal que no persistirá después de que un usuario cierre sesión, un nuevo shell o cuando reinicie el sistema. En el siguiente ejemplo, estableceremos una nueva variable de entorno llamada VARIABLE
.
El uso del siguiente comando creará una nueva variable de shell. Sin embargo, es importante tener en cuenta que esta variable de entorno solo se podrá utilizar en el terminal actual.
Le mostraremos cómo crear variables de entorno en los próximos ejemplos.
$ VARIABLE='VARIABLENAME'
Ahora que hemos creado una nueva variable de shell de muestra, podemos establecer esta variable como una nueva variable de entorno. Para establecer variables de shell en su terminal de Linux, deberá usar export
comando.
$ export VARIABLE
En los ejemplos anteriores, le mostramos cómo establecer variables de entorno temporales usando dos comandos separados. Pero como en muchos otros escenarios diferentes en Linux, existen alternativas útiles para hacer que ciertas operaciones sean más eficientes y convenientes; podemos configurar la variable de entorno no persistente usando un solo comando con la sintaxis que se muestra a continuación.
$ export VARIABLE='VARIABLENAME'
Configuración de variables de entorno permanentes
Como mencionamos en la sección "Configuración de variables de entorno temporales" de este tutorial, podemos configurar nuevas variables de entorno para que sean tanto temporales como permanentes.
Dado que ya cubrimos la configuración de variables de entorno temporales.
En los ejemplos a continuación, mostraremos cómo configurar nuevas variables de entorno para que sean persistentes. Esto se puede hacer a través de algunos archivos diferentes en Linux. El archivo que elija editar depende de cómo planea acceder exactamente a las variables de entorno.
~/.bashrc
– Este archivo existe en el directorio de inicio del usuario y almacenará variables que solo puede usar el usuario respectivo.
Estas variables se volverán a cargar cada vez que el usuario inicie un nuevo shell./etc/profile
– Todos los usuarios pueden acceder a las variables que se almacenan aquí y se cargarán cuando se abra un nuevo shell./etc/environment
– Se puede acceder a las variables que se almacenan aquí en todo el sistema.
Ahora que, aunque conoce los tres archivos a través de los cuales se pueden editar los archivos de configuración de Bash, es posible que se pregunte cómo se podría colocar una variable personalizada dentro de ~/ .bashrc
o /etc/profile
archivos de configuración.
Podemos hacer esto agregando una línea al final de cualquiera de los archivos usando la sintaxis que se muestra en el ejemplo a continuación. Tenga en cuenta que agregamos export
antes cada nueva variable.
$ export VARIABLE='VARIABLENAME'
Al ejecutar este comando, puede volver a cargar los archivos editados en la sesión actual con el comando que se muestra en el ejemplo a continuación.
$ source ~/ .bashrc OR # source /etc/profile
Otra cosa a tener en cuenta es que si está colocando una nueva variable de entorno en /etc/environment
archivo de configuración, no es necesario que escriba el export
dominio. Un ejemplo de la sintaxis se puede ver a continuación.
$ VARIABLE='VARIABLENAME'
Los métodos que hemos mostrado en los ejemplos anteriores le permitirán hacer que sus configuraciones de variables persistan hasta que las elimine.
También puede utilizar el echo
comando para imprimir una variable de shell. Esto puede ser útil si, por ejemplo, está creando un script cuyo propósito es generar un archivo de texto de muestra en el directorio de inicio de su usuario actual. Y varios usuarios diferentes ejecutarán el script.
Luego, el directorio de inicio cambiará todo el tiempo dependiendo de quién lo esté ejecutando. El script verificará la variable $HOME para ver qué directorio de inicio del usuario debe usar.
Como explicamos en una sección anterior de este tutorial, la variable de entorno $HOME es el directorio de inicio del usuario. Esta verificación debe ser precisa, ya que no podrá ejecutar ciertas operaciones, como el script de nuestro ejemplo, si $HOME no es el correcto.
Puedes verificar la variable $HOME por ti mismo usando la línea de comando en tu terminal con el echo
dominio. La sintaxis se proporciona en el siguiente ejemplo.
$ echo $HOME
A lo largo de este tutorial, le mostramos cómo configurar y verificar las variables de entorno de Linux en su terminal mediante el uso de una variedad de comandos y métodos.
Eliminación de variables de entorno
Pero es posible que se pregunte qué hacer si desea eliminar una variable de entorno que ha establecido. Esto se puede lograr usando el unset
comando en la terminal de Linux.
$ unset VARIABLE
En Linux existe una cierta filosofía que no está presente en sistemas operativos como Windows, por ejemplo. Y es que no hay operaciones ni procesos que se puedan revertir o deshacer.
La idea aquí es que si algo era importante y no se suponía que se hubiera borrado, se debería haber hecho una copia de seguridad.
Por lo tanto, es importante tener en cuenta que si usa el unset
comando, como dijimos antes, no puede ser deshecho Desactivar y eliminar accidentalmente una variable de entorno hará que se pierda para siempre. Así que usa este comando con extremo cuidado.
Pensamientos finales
En este tutorial, exploramos cómo establecer variables de entorno en Linux y ver una lista de todas las variables existentes. Las variables de entorno son un aspecto útil en Linux que nos permite acceder a información cambiante en diferentes sistemas.
Pueden ser especialmente útiles para los administradores de sistemas, ya que ejecutarán constantemente procesos y programas del sistema que necesitan la información que llevan las variables de entorno del sistema Linux.
Si todo lo que hemos dicho en esta publicación sobre las variables de entorno te parece mucho, no te preocupes, algunas cosas son más importantes de recordar que otras.
Lo que debe tratar de tener en cuenta principalmente son los comandos para configurar, desactivar y verificar las variables de entorno. Estas son las funciones principales de las variables de entorno en Linux que utilizará con más frecuencia.