set -a
. ./tmp.txt
set +a
set -aзаставляет переменные¹, определенные отныне, автоматически экспортироваться. Он доступен в любой оболочке, похожей на Bourne. .это стандарт и название Bourne для sourceкоманды, поэтому я предпочитаю его для переносимости ( sourceпроисходит от cshи теперь доступен в большинстве современных Bourne-подобных оболочек, включая, bashхотя (иногда с немного другим поведением)).
В оболочках POSIX вы также можете использовать set -o allexportв качестве более наглядного альтернативного способа его записи ( set +o allexportдля сброса).
¹ bashИмейте в виду, что это также приводит к тому, что все функции, объявленные в то время allexportкак включено, экспортируются в среду (как BASH_FUNC_myfunction%%переменные среды, которые затем импортируются всеми bashоболочками, запущенными в этой среде, даже если они запускаются как sh).