Jak możesz poprosić bash o aktualne opcje?

Pracuję z wieloma systemami zbudowanymi ze skryptów bash i innych narzędzi. Dość często uważam za dobrą praktykę używanie opcji -e, -u i -o pipefail do wychwytywania błędów i zapobiegania nieoczekiwanym zachowaniom.

Jednak niektóre biblioteki innych firm (do których mam możliwość zmiany źródła) tego nie robią i nie są zadowolone ze zmiany zmiennych testów, które istnieją w -u.

Skrypty w nich prawdopodobnie nie zostaną wykonane. Tak więc chciałbym zrobić to w niektórych z nich, ustawić bardziej tolerancyjny zestaw opcji, a następnie przywrócić bardziej rygorystyczne. Ponieważ omawiane skrypty są używane przez wielu użytkowników, z których niektórzy napotkali ten sam problem, chciałbym umieścić tę zmianę w skryptach innych firm, tj .:

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

Szukam sposobów na zachowanie i odtworzenie tych oryginałów.

questionAnswers(1)

yourAnswerToTheQuestion