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
)