ฉันใช้sourceคำสั่งในสคริปต์ทุบตีของฉันเพื่ออ่าน / พิมพ์ค่าตัวแปร
more linuxmachines_mount_point.txt
export linuxmachine01="sdb sdc sdf sdd sde sdg"
export linuxmachine02="sde sdd sdb sdf sdc"
export linuxmachine03="sdb sdd sdc sde sdf"
export linuxmachine06="sdb sde sdf sdd"
source linuxmachines_mount_point.txt
echo $linuxmachine01
sdb sdc sdf sdd sde sdg
อะไรคือสิ่งที่ตรงกันข้ามsourceเพื่อยกเลิกการตั้งค่าตัวแปร?
ผลลัพธ์ที่คาดหวัง
echo $linuxmachine01
< no output >
exportมี ทั้งหมดexportทำคือคัดลอกค่าลงในสภาพแวดล้อม - แต่มีอยู่เป็นตัวแปรเชลล์ไม่ว่าจะถูกกำหนดเป็นตัวแปรสภาพแวดล้อมหรือไม่ก็ตาม ยิ่งกว่านั้นการกำหนดตัวแปรสภาพแวดล้อมที่ไม่จำเป็นจะทำให้ความยาวบรรทัดคำสั่งสูงสุดสั้นลงเนื่องจากพวกมันถูกเก็บไว้ในพื้นที่ (จำกัด !) ต่อกระบวนการเดียวกัน
sourceว่าคือการตั้งค่าตัวแปรในสภาพแวดล้อมของคุณ แต่งบในแฟ้มที่คุณexportsourceดังนั้นตรงข้ามของsourceอาจจะsourceถ้าคุณsourceเป็นไฟล์ที่แตกต่างกันซึ่งunsets ตัวแปรเหมือนกันทั้งหมด