4
วิธีคืนค่าการตั้งค่าอย่างถูกต้องเมื่อเรียกใช้สคริปต์โดยใช้“ แหล่งที่มา”
ฉันกำลังเขียนสคริปต์ที่ต้องดำเนินการโดยใช้sourceเพราะหน้าที่ของมันคือการแก้ไขสภาพแวดล้อม ในระหว่างสคริปต์ฉันต้องการใช้set -eเพื่อให้ข้อผิดพลาดใด ๆ หยุดสคริปต์ สคริปต์มีลักษณะดังนี้: #!/bin/bash set -e # do something cd somewhere source anotherScript ปัญหาคือว่าset -eยังคงมีผลตามธรรมชาติหลังจากสคริปต์เสร็จสิ้น ฉันจะมั่นใจได้อย่างไรว่าsetตัวเลือกที่เปลี่ยนแปลงนั้นได้รับการคืนค่าอย่างเหมาะสมเมื่อสคริปต์หยุดทำงาน (ไม่ว่าด้วยวิธีใด - โดยการดำเนินการให้สำเร็จหรือเกิดข้อผิดพลาด)