diff options
Diffstat (limited to 'shell/hush_test/hush-vars/readonly0.tests')
-rwxr-xr-x | shell/hush_test/hush-vars/readonly0.tests | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/shell/hush_test/hush-vars/readonly0.tests b/shell/hush_test/hush-vars/readonly0.tests index 3845f76..3ace9b7 100755 --- a/shell/hush_test/hush-vars/readonly0.tests +++ b/shell/hush_test/hush-vars/readonly0.tests @@ -1,10 +1,12 @@ +unset a b + readonly a=A b=B readonly b -# readonly on already readonly var is harmless +# readonly on already readonly var is harmless: readonly b a readonly | grep '^readonly [ab]=' -# this should work +# this should work: export a b export -n a b echo Ok:$? @@ -12,13 +14,23 @@ 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) -true -a=A -echo Fail:$?; true -readonly a=A -echo Fail:$?; true -export a=A +true; a=A +echo Fail:$? +true; readonly a=A +echo Fail:$? + +# in bash, assignment in export fails, but export succeeds! :) +# we don't mimic that! +true; export a=Z echo Fail:$?; true -a=A echo Visible:$? # command still runs +#env | grep '^a=' +#echo "^^^a is exported" +export -n a # undo that bashism, if it happens + +export b +# this fails to both set and export a: +a=Z env | grep '^[ab]=' # command still runs +echo "^^^a is not exported" + unset a echo Fail:$?; true |