[PATCH] hush.c - export -n flag support
Denys Vlasenko
vda.linux at googlemail.com
Mon Apr 20 22:05:09 UTC 2009
On Monday 20 April 2009 21:11, Bayram Kurumahmut wrote:
> Added two new files: shell/hush_test/export-n.tests and
> shell/hush_test/export-n.right
> Added set then export -n test and test cases from my first mail
> Config.in help text changed
Problems:
Did you try to build with HUSH_EXPORT_N off?
It still accepts -n even then.
Your own testcase shows significant differences from bash:
# ./busybox hush export-n.tests
export aaa1="'''"
export aaa2=''
export aaa3="'''"'abc'
export aaa2='ghi' <=== ???
export aaa3='klm' <=== ???
export aaa2='ghi' <=== ???
export aaa3='klm' <=== ???
export aaa4='4n' <=== ???
export aaa2='ghi' <=== ???
export aaa3='klm' <=== ???
export aaa4='4n' <=== ???
export aaa8='8'
export aaa6='6n'
aaa9=9
aaa10=10
Done
# bash export-n.tests
declare -x aaa1="'''"
declare -x aaa2=""
declare -x aaa3="'''abc"
declare -x aaa8="8"
aaa9=9
aaa10=10
Done
Multiple -n are not accepted:
# ./busybox hush -c 'export -nnnnnnnnn nnnnnnnn; env | grep nnnnn'
-nnnnnnnnn=
nnnnnnnn=
# bash -c 'export -nnnnnnnnn nnnnnnnn; env | grep nnnnn'
(nothing)
VAR=VAL syntax ignores -n:
# ./busybox hush -c 'export -n HOME=z; env | grep HOME'
HOME=z
# bash -c 'export -n HOME=z; env | grep HOME'
Assignment after export -n "resurrects" export flag:
# ./busybox hush -c 'echo $HOME; echo Unexporting; export -n HOME; HOME=z; env | grep HOME'
/root
Unexporting
HOME=z
# bash -c 'echo $HOME; echo Unexporting; export -n HOME; HOME=z; env | grep HOME'
/root
Unexporting
--
vda
More information about the busybox
mailing list