| @@ -1,5 +1,5 @@ |
| unset a b |
| - | |
| + | # |
| readonly a=A |
| b=B |
| readonly b |
| @@ -12,6 +12,7 @@ export -n a b |
| echo Ok:$? |
| env | grep -e^a= -e^b= # shows nothing |
| |
| + | echo |
| # these should all fail (despite the same value being assigned) |
| # bash does not abort even in non-interactive more (in script) |
| true; a=A |
| @@ -19,18 +20,23 @@ echo Fail:$? |
| true; readonly a=A |
| echo Fail:$? |
| |
| + | echo |
| # in bash, assignment in export fails, but export succeeds! :) |
| # we don't mimic that! |
| true; export a=Z |
| - | echo Fail:$?; true |
| + | echo Fail:$? |
| #env | grep '^a=' |
| #echo "^^^a is exported" |
| export -n a # undo that bashism, if it happens |
| |
| + | echo |
| export b |
| # this fails to both set and export a: |
| - | a=Z env | grep '^[ab]=' # command still runs |
| + | a=Z env | 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:$? |
| |
| - | unset a |
| - | echo Fail:$?; true |
| + | echo |
| + | true; unset a |
| + | echo Fail:$? |