Saya sedang menulis skrip yang perlu dieksekusi menggunakan source, karena tugasnya adalah memodifikasi lingkungan. Selama skrip, saya ingin menggunakan set -esehingga kesalahan apa pun menghentikan skrip. Scriptnya terlihat seperti ini:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Masalahnya adalah bahwa set -esecara alami tetap berlaku setelah skrip selesai. Bagaimana saya bisa memastikan bahwa setopsi yang diubah dikembalikan dengan benar ke nilainya ketika skrip berhenti (dengan cara apa pun - baik dengan menyelesaikan dengan sukses atau pada kesalahan)?
-x/ xtrace) dialamatkan pada jejak eksekusi Suppress untuk perintah gema?