3.5.- Exportación de variables

Por defecto, las variables definidas a nivel del shell no se transmiten a los comandos ejecutados a partir de éste. Para que sean transmitidas, es necesario pedir al shell que las exporte. Un cierto número de variables se exportan por defecto.

Listado de variables exportadas

El comando env muestra las variables declaradas del shell actual que se exportan.

Ejemplo

NOTA: Las variables PS1 y PS2 están personalizadas, de ahí, que la cadena de las variables sean tan largas.

Las variables PS1 y PS2 han sido redefinidas en el shell actual:

Variables que deben exportarse

Las variables utilizadas por otros procesos que no sean el shell deben obligatoriamente exportarse para ser transmitidas.

Exportar una variable

Una variable exportada a nivel  un shell será transmitida a todos los procesos descendientes, con independencia del nivel de descendencia.

Sintaxis

Exportar una variable ya definida:

Definir y exportar una variable:

o

Ejemplo primero

La variable utilizada en este ejemplo de EXINIT. Ésta se consulta mediante el comando vi y contiene la lista de opciones a configurar en el editor.

Vemos en las dos figuras de abajo cómo la variable no exportada no se transmite a los procesos descendientes del shell.

La variable EXINIT se inicializa pero no se exporta.

Cuando el comando vi se ejecuta, Éste no recibe la variable. Por lo tanto, los números de línea no se mostrarán.

Ejemplo segundo

Las siguientes figuras nos muestra cómo una variable exportada se transmite a los procesos descendientes del shell:

La variable se define y se exporta (1).

La variable es recibida por el proceso vi que se configura con las opciones requeridas (2).