diff options
Diffstat (limited to 'shell/hush_test/hush-vars/readonly0.tests')
-rwxr-xr-x | shell/hush_test/hush-vars/readonly0.tests | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/shell/hush_test/hush-vars/readonly0.tests b/shell/hush_test/hush-vars/readonly0.tests index 3ace9b7..0833ccf 100755 --- a/shell/hush_test/hush-vars/readonly0.tests +++ b/shell/hush_test/hush-vars/readonly0.tests @@ -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:$? |