set -a
. ./tmp.txt
set +a
set -aทำให้ตัวแปร¹กำหนดจากนี้ไปจะถูกส่งออกโดยอัตโนมัติ มันมีอยู่ในเปลือกคล้ายบอร์นใด ๆ .เป็นชื่อมาตรฐานและบอร์นสำหรับsourceคำสั่งดังนั้นฉันชอบมันสำหรับการพกพา ( sourceมาจากcshและตอนนี้มีอยู่ในเชลล์เหมือนบอร์นที่ทันสมัยที่สุดรวมถึงbashแม้ว่า (บางครั้งมีพฤติกรรมแตกต่างกันเล็กน้อย)
ใน POSIX เชลล์คุณสามารถใช้set -o allexportเป็นทางเลือกที่อธิบายเพิ่มเติมเพื่อเขียน ( set +o allexportเพื่อยกเลิกการตั้งค่า)
¹ในbashระวังว่ามันจะทำให้ฟังก์ชั่นทั้งหมดที่ประกาศในขณะallexportที่จะถูกส่งออกไปยังสภาพแวดล้อม (เป็นBASH_FUNC_myfunction%%ตัวแปรสภาพแวดล้อมที่นำเข้าแล้วโดยbashเชลล์ทั้งหมดที่ทำงานในสภาพแวดล้อมนั้นแม้เมื่อทำงานเป็นsh)