set -a
. ./tmp.txt
set +a
set -a
hace que las variables definidas a partir de ahora se exporten automáticamente Está disponible en cualquier shell tipo Bourne. .
es el nombre estándar y Bourne para el source
comando, por lo que lo prefiero para la portabilidad ( source
proviene csh
y ahora está disponible en la mayoría de los shells modernos de Bourne, incluyendo bash
(a veces con un comportamiento ligeramente diferente)).
En shells POSIX, también puede usarlo set -o allexport
como una forma alternativa más descriptiva de escribirlo ( set +o allexport
para desarmar).
¹ En bash
, tenga en cuenta que también hace que todas las funciones declaradas mientras allexport
está activado se exporten al entorno (ya que BASH_FUNC_myfunction%%
las variables de entorno que luego importan todos los bash
shells se ejecutan en ese entorno, incluso cuando se ejecutan como sh
).