set -a
. ./tmp.txt
set +a
set -ahace 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 sourcecomando, por lo que lo prefiero para la portabilidad ( sourceproviene cshy 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 allexportcomo una forma alternativa más descriptiva de escribirlo ( set +o allexportpara desarmar).
¹ En bash, tenga en cuenta que también hace que todas las funciones declaradas mientras allexportestá activado se exporten al entorno (ya que BASH_FUNC_myfunction%%las variables de entorno que luego importan todos los bashshells se ejecutan en ese entorno, incluso cuando se ejecutan como sh).