# check invalid options are rejected # bash: in posix mode, aborts if non-interactive; using subshell to avoid that (unset -) echo $? (unset -m a b c) echo $? # check funky usage unset echo $? # check normal usage echo ___ f=f g=g echo $? $f $g unset f echo $? $f $g unset g echo $? $f $g echo ___ f=f g=g echo $? $f $g unset f g echo $? $f $g f=f g=g echo $? $f $g unset -v f g echo $? $f $g # check read only vars echo ___ f=f g=g VAR_RO=1 readonly VAR_RO (unset VAR_RO) echo $? $f $g # not testing "do variables survive error halfway through unset" since unset aborts # unset f VAR_RO g #echo $? $f $g