1
ทำไมฉันไม่สามารถพิมพ์ตัวแปรที่ฉันเห็นได้ในผลลัพธ์ของ env
ฉันสนใจที่จะตั้งค่าตัวแปรสภาพแวดล้อมของเชลล์อินสแตนซ์หนึ่งจากอีกอันหนึ่ง ฉันจึงตัดสินใจทำการวิจัย หลังจากอ่านคำถามจำนวนหนึ่งเกี่ยวกับเรื่องนี้ฉันตัดสินใจที่จะทดสอบ ผมสองกระบอกเปลือกหอย A และ B (PID 420) zshทั้งการทำงาน จาก AI เชลล์วิ่งต่อไปนี้ sudo gdb -p 420 (gdb) call setenv("FOO", "bar", 1) (gdb) detach จาก shell B เมื่อฉันรันenvฉันเห็นตัวแปร FOO ถูกตั้งค่าด้วยค่าบาร์ นี่ทำให้ฉันคิดว่า FOO ได้รับการเริ่มต้นได้สำเร็จในสภาพแวดล้อมของ shell B อย่างไรก็ตามถ้าฉันพยายามพิมพ์ FOO ฉันจะได้รับบรรทัดว่างซึ่งหมายความว่าไม่ได้ตั้งค่าไว้ สำหรับฉันมันรู้สึกเหมือนมีความขัดแย้งที่นี่ สิ่งนี้ได้รับการทดสอบทั้งในระบบ Arch GNU / Linux ของฉันและ Ubuntu VM ฉันยังทดสอบสิ่งนี้bashว่าตัวแปรไม่ได้แสดงใน env แม้ว่ามันจะน่าผิดหวังสำหรับฉัน …