私は、bash スクリプトやその他のツールで構築された多数のシステムを使用しています。かなりの頻度で、-e、-u、および -o pipefail オプションを使用して、エラー状態をキャッチし、予期しない動作を防ぐことをお勧めします。
ただし、一部のサード パーティ ライブラリ (ソースを変更することができます) はこれを行わず、変数テストを -u で存在するように変更することに満足していません。
それらのスクリプトは、実行されずに供給される可能性があります。だから私がやりたいのは、これらのいくつかで、より寛容なオプションのセットを設定してから、より厳しいものを復元することです. 問題のスクリプトは多くのユーザーによって使用されており、同じ問題に遭遇したユーザーもいるため、この変更をサードパーティのスクリプトに入れたいと思います。
<preserve original options>
set +e +u +o pipefail
#do stuff like
if [ -n "$_UNSET_VAR" ] ; then
cp <some stuff> <some other stuff>
fi
<restore original options (whatever they were)>
これらのオリジナルを保存および復元する方法を探しています。