set -a
. ./tmp.txt
set +a
set -a
faz com que as variáveis¹ definidas a partir de agora sejam exportadas automaticamente. Está disponível em qualquer shell tipo Bourne. .
é o nome padrão e Bourne para o source
comando, então prefiro-o para portabilidade ( source
vem csh
e agora está disponível na maioria dos shells modernos semelhantes a Bourne, incluindo bash
(às vezes com um comportamento ligeiramente diferente)).
Nos shells POSIX, você também pode usar set -o allexport
como uma maneira alternativa mais descritiva de escrevê-lo ( set +o allexport
para desabilitar).
¹ bash
Lembre-se de que também faz com que todas as funções declaradas enquanto allexport
estejam exportadas para o ambiente (como BASH_FUNC_myfunction%%
variáveis de ambiente que são importadas por todos os bash
shells executadas nesse ambiente, mesmo quando executadas como sh
).