ฉันใช้ Ubuntu 11.04 ฉันใช้เทอร์มินัลเพื่อเริ่มเซสชัน bash และฉันต้องการเพิ่มตัวแปรสภาพแวดล้อม:
$r@hajt:~$ env THEVAR=/example
แต่มันไม่ทำงาน มันแสดงให้เห็นตัวแปรทั้งหมดที่มี Thevar เป็นคนสุดท้าย แต่อีกสายหนึ่งที่จะenv
ไม่แสดงTHEVAR
anymore- env | grep THEVAR
ผลตอบแทนอะไร
สคริปต์ที่มีการส่งออก ( export THEVAR=/example
) หรือการกำหนดตัวแปรอื่น ๆ ( THEVAR=/example
) ไม่ได้เพิ่มตัวแปรสภาพแวดล้อม
ฉันรู้ว่าฉันกำลังทำสิ่งผิดปกติฉันรู้ว่ามันควรจะเป็นสิ่งที่ง่าย แต่ฉันไม่สามารถหาอะไรได้
อัปเดต: ความหมายที่แท้จริงของคำถามของฉันคือ: https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell
(อย่างไรก็ตามฉันจะเลือกคำตอบที่ได้รับการโหวตมากที่สุดและปล่อยให้ชื่อที่แก้ไข - นั่นไม่ใช่สิ่งที่ฉันขอ)
env
เรียกใช้โปรแกรมในสภาพแวดล้อมที่มีการปรับเปลี่ยนจากนั้นยกเลิกการเปลี่ยนแปลงทั้งหมด
THEVAR=/example
ล่ะ