Cómo resolver problemas con las variables de entorno que no se establecen en un script bash

Cómo resolver problemas con las variables de entorno que no se establecen en un script bash

Las variables de entorno se utilizan para modificar el comportamiento de un entorno. Estas variables pueden cambiar la forma en que funciona el software o la aplicación. La configuración de las variables de entorno tiene múltiples aplicaciones en Bash. Tales variables se pueden usar para almacenar cualquier cosa.

Además, cada sistema tiene ciertas variables de entorno que usa mientras interactúa con el usuario. En este artículo, primero veremos los conceptos básicos de los scripts bash y configuraremos y manipularemos las variables de entorno y luego pasaremos por algunos remedios para los problemas asociados.

Guiones

En Ubuntu, casi todas las tareas se pueden ejecutar utilizando la interfaz gráfica de usuario o el shell de línea de comando. Algunas tareas se realizan más fácilmente usando el shell en lugar de la GUI. Los scripts son archivos que consisten en comandos. Todos estos comandos se ejecutan cuando se ejecuta el archivo de script. Los scripts bash son tales scripts que usan el intérprete bash.

La extensión de los scripts es .mierda. Los scripts se pueden escribir utilizando cualquier editor de texto. Cada script bash comienza con la línea #!/bin/bash, que le dice al sistema que use el intérprete bash.

Variables de entorno

Las variables de entorno tienen las propiedades de la localidad del proceso, la herencia y la sensibilidad de los casos. La localidad del proceso significa que las variables de entorno son exclusivas de la instancia específica del shell a menos que se especifique lo contrario. La herencia se refiere a la relación padre-hijo entre varios entornos.

La sensibilidad del caso, como su nombre lo indica, significa que las variables del entorno son sensibles a los cambios de casos. En general, el formato de las variables de entorno depende de su sistema principal. Sin embargo, todas las variables de entorno tienen dos características en común; Nombre de variable y valor almacenado.

El nombre de la variable puede ser cualquier cosa, pero el valor debe estar en formato que cumpla con el tipo de variable de entorno. Esto es especialmente importante cuando se trata de las variables de entorno creadas por el sistema. Por ejemplo, la variable de entorno Lang es responsable de seleccionar el idioma que la aplicación utiliza para comunicarse con el usuario. Su valor depende de la ubicación, pero típicamente en los EE. UU., Tendrá el valor "en_us.UTF-8 ".

Manipulando variables de entorno

Existen varias utilidades gráficas para buscar, configurar y editar variables de entorno, pero en este artículo, veremos cómo lidiar con tales variables en la línea de comandos de bash.

Para crear una nueva variable de entorno, puede usar el comando de exportación. Hay múltiples formas de crear una variable de entorno. Puede definir la variable primero y luego exportarla. Crearemos la variable nombrada editor con el valor nano (editor de texto) y luego lo exportaremos.

$ Editor = nano
$ Editor de exportación

La otra forma de crear las variables de entorno es definiéndolas en el comando de exportación en sí.

$ exportación editor = nano

Si tiene la intención de usar espacios en el valor, debe usar cotizaciones dobles mientras crea la variable de entorno como se muestra:

$ export var = "mi valor"

Se puede acceder a los valores de las variables de entorno utilizando el comando ECHO seguido del nombre de la variable respectiva con un signo de dólar.

$ echo $ var

También puede usar el comando printenv para obtener el valor de cualquier variable de entorno.

$ printenv var

Problemas relacionados con las variables de entorno

Al definir las variables de entorno en los scripts bash, los problemas comunes están relacionados con la relación entre padres y hijos de los shells. La solución a tales problemas es definir las variables en un entorno principal. Como vimos anteriormente, típicamente, las variables de entorno son temporales y exclusivas de la instancia de shell en la que se crean; Sin embargo, también podemos definir variables de entorno que sean persistentes y disponibles para otros usuarios.

Si desea crear una variable de entorno que sea permanente solo para su uso, deberá editar el .archivo bashrc. Se encuentra en el directorio /home /user. Puede agregar una variable de entorno VAR en el .archivo bashrc ejecutando los siguientes comandos:

$ nano/hogar/usuario/.bashrc

Ahora, usamos el editor de texto nano para modificar el contenido del archivo bash.

exportar var = "mi variable permanente"

Para aplicar los cambios a su sesión actual, obtenga el .archivo bashrc usando el siguiente comando:

$ fuente .bashrc

La variable var estará disponible para cada instancia del shell ejecutado por el usuario actual.

Sin embargo, si está buscando crear una variable de entorno disponible para todos los usuarios, deberá incluirla en el archivo /etc /entorno. Por ejemplo, podemos agregar una variable de entorno global al archivo /etc /entorno ejecutando los siguientes comandos:

$ nano /etc /entorno

Como lo hicimos antes con el .archivo bashrc, ahora editamos el contenido del archivo de entorno.

Exportar global = "Esta es una variable global."

Fuente el archivo de entorno para aplicar los cambios escribiendo el siguiente comando:

$ fuente /etc /entorno

Si desea crear una variable de entorno que almacene el resultado de un comando ejecutado en un script bash, deberá usar la sustitución de parámetros. El formato general de sustitución de parámetros implica el uso del comando de exportación seguido del comando con un signo de dólar encerrado en los soportes como se muestra:

$ export var = $ ()

Por ejemplo, si desea almacenar su variable de entorno de shell en otra variable myshell, puede usar el siguiente comando:

$ export myshell = $ (echo $ shell)

Conclusión

En este artículo, hemos pasado por los conceptos básicos de los scripts y las variables de entorno. Además, hemos entendido cómo manipular las variables del entorno, algunos problemas típicos relacionados con la creación de tales variables en los scripts bash y cómo remediarlas.