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