Saya sedang menulis skrip yang perlu dieksekusi menggunakan source
, karena tugasnya adalah memodifikasi lingkungan. Selama skrip, saya ingin menggunakan set -e
sehingga kesalahan apa pun menghentikan skrip. Scriptnya terlihat seperti ini:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Masalahnya adalah bahwa set -e
secara alami tetap berlaku setelah skrip selesai. Bagaimana saya bisa memastikan bahwa set
opsi 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?