Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #16612
| From | Grisha Levit <grishalevit@gmail.com> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | $SHELLOPTS after function with `local -' |
| Date | 2020-07-24 02:14 -0400 |
| Message-ID | <mailman.449.1595571272.24492.bug-bash@gnu.org> (permalink) |
| References | <CAMu=BrqQwOGPL09TJcPJXcugwHeDeeHCtmxyuS=faLJZLymCrw@mail.gmail.com> |
The value of $SHELLOPTS is not always updated correctly after returning
from a function that modifies options after using `local -'.
For example:
fun() { local -; set -u; }; fun
[[ $- == *u* ]]; echo $? # 1
[[ :$SHELLOPTS: == *:nounset:* ]]; echo $? # 0
This seems to be the case for the following set of options:
interactive-comments, keyword, monitor, noclobber, noglob, nolog, notify,
nounset, onecmd, physical, pipefail, privileged, verbose, xtrace
While it works correctly for:
allexport, braceexpand, emacs, errexit, errtrace, functrace, hashall,
histexpand, history, ignoreeof, noexec, posix, vi
Back to gnu.bash.bug | Previous | Next | Find similar
$SHELLOPTS after function with `local -' Grisha Levit <grishalevit@gmail.com> - 2020-07-24 02:14 -0400
csiph-web