| # readonly on already readonly var is harmless: |
| readonly | grep '^readonly [ab]=' |
| env | grep -e^a= -e^b= # shows nothing |
| # these should all fail (despite the same value being assigned) |
| # bash does not abort even in non-interactive more (in script) |
| # ash does, using subshell to continue |
| # in bash, assignment in export fails, but export succeeds! :) |
| export -n a # undo that bashism, if it happens |
| ## ash: assignment errors in "a=Z CMD" lead to CMD not executed |
| ## # this fails to both set and export a: |
| ## a=Z env | echo grep '^[ab]=' |
| ## echo "^^^a is not exported" |
| ## # but external command does get executed, and $? is not mangled (stays 42): |
| ## (exit 42); a=Z env echo Visible:$? |
| # ash: this fails *silently*, bug? bash says "cannot unset: readonly variable" |