ฉันอ่านที่นี่ว่าวัตถุประสงค์ของexport
เชลล์คือการทำให้ตัวแปรพร้อมใช้งานสำหรับกระบวนการย่อยที่เริ่มต้นจากเชลล์
อย่างไรก็ตามฉันได้อ่านที่นี่และที่นี่ว่า"กระบวนการสืบทอดสภาพแวดล้อมของพวกเขาจากผู้ปกครองของพวกเขา (กระบวนการที่เริ่มต้นพวกเขา)"
หากเป็นกรณีนี้เราจำเป็นต้องทำexport
อย่างไร ฉันพลาดอะไรไป
ตัวแปรเชลล์ไม่ได้เป็นส่วนหนึ่งของสภาพแวดล้อมโดยปริยายหรือไม่? อะไรคือความแตกต่าง?
set -k
เพื่อให้สามารถใช้cmd ENVVAR=value
ในสถานที่ของENVVAR=value cmd
ที่จะไม่ทำงานในตัวอย่างของคุณจนกว่าดำเนินการก่อนที่จะกล่าวอ้างset -k
f
นอกจากนี้ยังมีหอยไม่กี่ตัวที่รองรับในปัจจุบันและรองรับความเข้ากันได้แบบย้อนหลังกับเชลล์เป้าหมายเท่านั้น ในเชลล์ Bourne (หรือ Korn) ที่ไม่สามารถใช้งานได้ และเนื่องจากมันมีผลกระทบกับการแยกวิเคราะห์เชลล์จึงต้องมีผลบังคับใช้ในเวลาที่เชลล์อ่านโค้ดที่ใช้งานที่นั่น