Introducción
Las variables de shell son pares clave-valor que se utilizan para almacenar datos de configuración importantes para el shell. Dado que una variable es solo un puntero a un dato, puede contener una referencia a cualquier tipo de datos:un nombre, un número, un nombre de archivo o incluso otra variable.
Todas las variables que el usuario define dentro del shell bash son locales por defecto. Significa que los procesos secundarios del shell no heredan las variables del shell. El usuario debe exportar las variables para que estén disponibles para los procesos secundarios.
Este tutorial le mostrará cómo exportar variables de Bash en Linux utilizando export
dominio.

Requisitos previos
- Acceso a la terminal/línea de comando.
- La consola bash.
¿Qué hace el comando exportar en Bash?
Las variables en Bash se crean usando el comando declare o simplemente escribiendo el par clave-valor en el shell. Por ejemplo, para crear una variable llamada test
, que tiene un valor de cadena de example
, escriba:
test="example"
Para ver el valor de una variable, use el comando echo:
echo $test
El valor aparece en la salida:

Sin embargo, la variable creada de esta manera solo se aplica a la sesión de shell actual. Para probar esto, abra un shell secundario escribiendo:
bash
Usar echo
para comprobar la variable.
echo $test
La salida está vacía porque la variable test
tiene un valor solo en el shell principal. Es necesario exportar una variable para usarla en procesos secundarios.

La exportación de variables también es importante para las secuencias de comandos de Bash. El siguiente ejemplo crea un script llamado test-script.sh
que muestra el valor de la test
variable.
1. Cree el archivo usando un editor de texto como nano:
nano test-script.sh
2. Escriba lo siguiente en el archivo:
#!/bin/bash
echo $test
3. Guarde el archivo y salga.
4. Cambie los permisos del archivo para permitir su ejecución:
chmod u+x test-script.sh
5. Ejecute el script:
./test-script.sh
El script devuelve una salida vacía.

El resultado está vacío porque la secuencia de comandos se ejecuta en un shell secundario que se abre automáticamente al ejecutar la secuencia de comandos.
Cómo exportar variables Bash
La sintaxis para export
el comando es simple:
export [variable-name]
El siguiente ejemplo confirma que la test
la variable existe incluso después de usar bash
para iniciar una nueva sesión de shell.

Los scripts ahora también tienen acceso a la variable. Vuelva a ejecutar el script creado anteriormente.
./test-script.sh
Ahora genera correctamente el valor de test
.

Funciones de exportación
Utilice la export
comando para exportar funciones bash.
1. Por ejemplo, cree una función bash llamada echoVar
:
function echoVar
2. La función llama a echo
para mostrar el valor de la test
variables:
{
echo "The value of the test variable is: "$test
}

3. Ahora se puede llamar a la función por su nombre para mostrar el valor de la variable. Para que la función esté disponible en los procesos secundarios, escriba:
export -f echoVar
La función ahora está disponible en shells secundarios.

Ver todas las variables exportadas
Cuando export
El comando se emite sin argumentos, muestra la lista de todas las variables. Para exportar todas las variables enumeradas a procesos secundarios, utilice -p
opción.
export -p

Las dos variables creadas en este artículo se encuentran en la parte inferior de la salida.

Para deshacer el efecto de export -p
, use el -n
opción.
export -n
Las variables se limitan nuevamente a la sesión de shell actual.