Wie können Sie bash nach den aktuellen Optionen fragen?

Ich arbeite mit einer Reihe von Systemen, die aus Bash-Skripten und anderen Tools bestehen. Ich halte es ziemlich oft für eine gute Praxis, die Pipefail-Optionen -e, -u und -o zu verwenden, um Fehlerzustände abzufangen und unerwartetes Verhalten zu verhindern.

Einige Bibliotheken von Drittanbietern (für die ich die Möglichkeit habe, den Quellcode zu ändern) tun dies jedoch nicht und sind nicht damit zufrieden, Variablentests so zu ändern, dass sie mit -u existieren.

Die Skripte in diesen werden wahrscheinlich nicht ausgeführt. Was ich also tun möchte, ist, einige dieser Optionen zu definieren und die strengeren Optionen wiederherzustellen. Da die fraglichen Skripte von vielen Benutzern verwendet werden, von denen einige auch auf dasselbe Problem gestoßen sind, möchte ich diese Änderung in die Skripte von Drittanbietern übernehmen, dh:

<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)>

Ich suche nach Möglichkeiten, diese Originale zu bewahren und wiederherzustellen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage