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 ).