Cómo configurar y desarmar variables de entorno locales, de usuario y de sistema en Linux

Las variables de entorno son algunas variables especiales que se definen en el shell y son necesarias para los programas durante la ejecución. Pueden ser definidos por el sistema o definidos por el usuario. Las variables definidas por el sistema son aquellas que se establecen por el sistema y son utilizadas por los programas de nivel del sistema.

Establecer y desarmar variables de entorno de LinuxEstablecer y desarmar variables de entorno de Linux

Por ejemplo, el comando PWD es una variable de sistema muy común que se utiliza para almacenar el directorio de trabajo actual. Las variables definidas por el usuario normalmente las establece el usuario, ya sea de forma temporal para el shell actual o de forma permanente. Todo el concepto de establecer y deshacer las variables de entorno gira en torno a un conjunto de archivos y algunos comandos y diferentes shells.

En términos más generales, una variable de entorno puede ser de tres tipos:

1. Variable del entorno local

Uno definido para la sesión actual. Estas variables de entorno duran solo hasta la sesión actual, ya sea una sesión de inicio de sesión remoto o una sesión de terminal local. Estas variables no se especifican en ningún archivo de configuración y se crean y eliminan mediante un conjunto especial de comandos.

2. Variable de entorno de usuario

Estas son las variables que se definen para un usuario en particular y se cargan cada vez que un usuario inicia sesión usando una sesión de terminal local o ese usuario inicia sesión usando una sesión de inicio de sesión remota. Estas variables se establecen normalmente en y cargan desde los archivos de configuración siguientes: .bashrc, .bash_profile, .bash_login, .profilearchivos que están presentes en el directorio personal del usuario.

3. Variables de entorno de todo el sistema

Estas son las variables de entorno que están disponibles en todo el sistema, es decir, para todos los usuarios presentes en ese sistema. Estas variables están presentes en todo el sistema de archivos de configuración presentes en las siguientes directorios y archivos: /etc/environment, /etc/profile, /etc/profile.d/, /etc/bash.bashrc. Estas variables se cargan cada vez que el sistema se enciende y se registra en forma local o remota por cualquier usuario.

Comprensión de los archivos de configuración de todo el usuario y del sistema

Aquí, describimos brevemente varios archivos de configuración enumerados anteriormente que contienen Variables de entorno, ya sea para todo el sistema o específicas del usuario.

.bashrc

Este archivo es un archivo específico del usuario que se carga cada vez que el usuario crea una nueva sesión local, es decir, en palabras simples, abre una nueva terminal. Todas las variables de entorno creadas en este archivo entrarían en vigor cada vez que se inicie una nueva sesión local.

.bash_profile

Este archivo es un archivo de inicio de sesión remoto específico del usuario. Las variables de entorno enumeradas en este archivo se invocan cada vez que el usuario inicia sesión de forma remota, es decir, mediante la sesión ssh. Si este archivo no está presente, el sistema busca archivos .bash_logino .profile.

/ etc / environment

Este archivo es un archivo de todo el sistema para crear, editar o eliminar cualquier variable de entorno. Las variables de entorno creadas en este archivo son accesibles en todo el sistema, por todos y cada uno de los usuarios, tanto de forma local como remota.

/etc/bash.bashrc

bashrcArchivo de todo el sistema. Este archivo se carga una vez para cada usuario, cada vez que ese usuario abre una sesión de terminal local. Las variables de entorno creadas en este archivo son accesibles para todos los usuarios, pero solo a través de una sesión de terminal local. Cuando se accede a cualquier usuario de esa máquina de forma remota a través de una sesión de inicio de sesión remota, estas variables no serían visibles.

/ etc / profile

Archivo de perfil de todo el sistema. Todos los usuarios del sistema pueden acceder a todas las variables creadas en este archivo, pero solo si la sesión de ese usuario se invoca de forma remota, es decir, mediante inicio de sesión remoto. No se podrá acceder a ninguna variable de este archivo para la sesión de inicio de sesión local, es decir, cuando el usuario abra una nueva terminal en su sistema local.

Nota : Las variables de entorno creadas utilizando archivos de configuración de &ltstrong&gttodo el &lt/strong&gtsistema o de todo el usuario se pueden eliminar eliminándolos solo de estos archivos. Solo que después de cada cambio en estos archivos, cierre la sesión e inicie sesión nuevamente o simplemente escriba el siguiente comando en el terminal para que los cambios surtan efecto:

$ source <file-name>

Establecer o desarmar variables de entorno locales o de toda la sesión en Linux

Las variables de entorno local se pueden crear utilizando los siguientes comandos:

$ var=value 
OR
$ export var=value

Estas variables son para toda la sesión y son válidas solo para la sesión de terminal actual. Para borrar estas variables de entorno de toda la sesión, se pueden utilizar los siguientes comandos:

1. Usando env

De forma predeterminada, el "env"comando enumera todas las variables de entorno actuales. Pero, si se usa con '-i'switch, borra temporalmente todas las variables de entorno y permite al usuario ejecutar un comando en la sesión actual en ausencia de todas las variables de entorno.

$ env –i [Var=Value]… command args…

Aquí, var=valuecorresponde a cualquier variable de entorno local que desee utilizar solo con este comando.

$ env –i bash

Dará un shell bash que temporalmente no tendría ninguna de las variables de entorno. Pero, al salir del shell, se restaurarán todas las variables.

2. Usando unset

Otra forma de borrar la variable de entorno local es mediante el comando unset. Para desarmar cualquier variable de entorno local temporalmente,

$ unset <var-name>

Donde, var-namees el nombre de la variable local que desea anular o borrar.

3. Establezca el nombre de la variable en “

Otra forma menos común sería establecer el nombre de la variable que desea borrar en ''(Vacío). Esto borraría el valor de la variable local para la sesión actual para la que está activa.

NOTA : INCLUSO PUEDE JUGAR Y CAMBIAR LOS VALORES DEL SISTEMA O LAS VARIABLES DEL ENTORNO DEL USUARIO, PERO LOS CAMBIOS SE REFLEJARAN SOLO EN LA SESIÓN TERMINAL ACTUAL Y NO SERÁN PERMANENTES.

Aprenda a crear variables de entorno para todo el usuario y todo el sistema en Linux

En la sección, aprenderemos cómo configurar o desarmar variables de entorno locales, de usuario y de sistema en Linux con los siguientes ejemplos:

1. Establecer y desarmar variables locales en Linux

a.) Aquí, creamos una variable local VAR1y la asignamos a cualquier valor. Luego, usamos unset para eliminar esa variable local y, al final, esa variable se elimina.

$ VAR1='TecMint is best Site for Linux Articles'
$ echo $VAR1
$ unset VAR1
$ echo $VAR1

Establecer variables de entorno local no definidasEstablecer variables de entorno local no definidas

b.) Otra forma de crear una variable local es mediante exportcomando. La variable local creada estará disponible para la sesión actual. Para desarmar la variable, simplemente establezca el valor de la variable en ''.

$ export VAR='TecMint is best Site for Linux Articles'
$ echo $VAR
$ VAR=
$ echo $VAR

Exportar variables de entorno localExportar variables de entorno local en Linux

c.) Aquí, creamos una variable local VAR2y le asignamos un valor. Luego, para ejecutar un comando que borre temporalmente todas las variables de entorno locales y otras, ejecutamos el 'env –i'comando. Este comando aquí ejecutó bash shell borrando todas las demás variables de entorno. Después de entrar 'exit'en el shell bash invocado, se restaurarán todas las variables.

$ VAR2='TecMint is best Site for Linux Articles'
$ echo $VAR2
$ env -i bash
$ echo $VAR2   

Use el comando Env para desarmar variablesUse el comando Env para desarmar variables

2. Establecer y desarmar variables de entorno para todo el usuario en Linux

a.) Modifique el .bashrcarchivo en su directorio de inicio para exportar o establecer la variable de entorno que necesita agregar. Después de esa fuente el archivo, para que los cambios surtan efecto. Entonces verías la variable ( 'CD'en mi caso), tomando efecto. Esta variable estará disponible cada vez que abra una nueva terminal para este usuario, pero no para sesiones de inicio de sesión remoto.

$ vi .bashrc

Agregue la siguiente línea al .bashrcarchivo en la parte inferior.

export CD='This is TecMint Home'

Ahora ejecute el siguiente comando para tomar nuevos cambios y probarlo.

$ source .bashrc 
$ echo $CD

Establecer variables de entorno para todo el usuario en LinuxEstablecer variables de entorno para todo el usuario en Linux

Para eliminar esta variable, simplemente elimine la siguiente línea en el archivo .bashrc y vuelva a generarla:

b.) Para agregar una variable que estará disponible para las sesiones de inicio de sesión remotas (es decir, cuando envíe un ssh al usuario desde el sistema remoto), modifique el .bash_profilearchivo.

$ vi .bash_profile

Agregue la siguiente línea al .bash_profilearchivo en la parte inferior.

export VAR2='This is TecMint Home'

Cuando obtenga este archivo, la variable estará disponible cuando envíe un mensaje a este usuario, pero no al abrir ninguna terminal local nueva.

$ source .bash_profile 
$ echo $VAR2

Aquí, VAR2inicialmente no está disponible pero, al hacer ssh al usuario en localhost, la variable pasa a estar disponible.

$ ssh [email protected]
$ echo $VAR2

Exportar variables de todo el usuario en el perfil BashExportar variables de todo el usuario en el perfil Bash

Para eliminar esta variable, simplemente elimine la línea en el .bash_profilearchivo que agregó y vuelva a generar el archivo.

NOTA : Estas variables estarán disponibles cada vez que inicie sesión con el usuario actual, pero no para otros usuarios.

3. Establecer y desarmar variables de entorno de todo el sistema en Linux

a.) Para agregar una variable sin inicio de sesión en todo el sistema (es decir, una que esté disponible para todos los usuarios cuando alguno de ellos abre una nueva terminal, pero no cuando se accede de forma remota a cualquier usuario de la máquina) agregue la variable al /etc/bash.bashrcarchivo.

export VAR='This is system-wide variable'

Agregar variables de entorno de todo el sistemaAgregar variables de entorno de todo el sistema

Después de eso, obtenga el archivo.

$ source /etc/bash.bashrc 

Ahora esta variable estará disponible para todos los usuarios cuando abra una nueva terminal.

$ echo $VAR
$ sudo su
$ echo $VAR
$ su -
$ echo $VAR

Verifique las variables de todo el sistemaVerifique las variables de todo el sistema

Aquí, la misma variable está disponible tanto para el usuario root como para el usuario normal. Puede verificar esto iniciando sesión con otro usuario.

b.) Si desea que alguna variable de entorno esté disponible cuando alguno de los usuarios de su máquina esté conectado de forma remota, pero no al abrir una nueva terminal en la máquina local, entonces necesita editar el archivo – '/etc/profile'.

export VAR1='This is system-wide variable for only remote sessions'

Agregar variables de todo el sistema en el perfilAgregar variables de todo el sistema en el perfil

Después de agregar la variable, simplemente vuelva a generar el archivo. Entonces la variable estaría disponible.

$ source /etc/profile
$ echo $VAR1

Para eliminar esta variable, elimine la línea del /etc/profilearchivo y vuelva a generarla.

c.) Sin embargo, si desea agregar cualquier entorno que desee que esté disponible en todo el sistema, tanto en sesiones de inicio de sesión remotas como en sesiones locales (es decir, abrir una nueva ventana de terminal) para todos los usuarios, simplemente exporte la variable en Archivo / etc / environment .

export VAR12='I am available everywhere'

Agregar variable de sistema en el archivo de entornoAgregar variable de sistema en el archivo de entorno

Después de eso, solo obtenga el archivo y los cambios surtirán efecto.

$ source /etc/environment
$ echo $VAR12
$ sudo su
$ echo $VAR12
$ exit
$ ssh localhost
$ echo $VAR12

Verificar la variable de entorno para todos los usuariosVerificar la variable de entorno para todos los usuarios

Aquí, como vemos, la variable de entorno está disponible para el usuario normal, el usuario root, así como en la sesión de inicio de sesión remoto (aquí, para localhost ).

Para borrar esta variable, simplemente elimine la entrada en el archivo / etc / environment y vuelva a generarla o inicie sesión nuevamente.

NOTA : Los cambios entran en vigor cuando obtiene el archivo. Pero, si no es así, es posible que deba cerrar la sesión y volver a iniciarla.

Conclusión

Por lo tanto, estas son algunas formas en las que podemos modificar las variables de entorno. Si encuentra algún truco nuevo e interesante para el mismo, menciónelo en sus comentarios.

Comandos de Linux

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux