Op 01-05-18 om 18:45 schreef Martijn Dekker:
It appears that it must have one function calling another, and that other function having an assignment preceding a special builtin, for 'unset' to fail silently for the variable so assigned.
Actually it can be simplified further: the following also outputs "BUG: still set". I fact, with this version, the bug manifests all the way down to bash 2.05b!
POSIXLY_CORRECT=y func() { var=1 var=2 : # or 'var=2 set foo', or another special builtin unset -v var # bug: fails silently } func echo ${var+"BUG: still set"} Thanks, - M.