hush: move towards more correct variable expansion
hush: fix a few cases in FOR v IN ... construct unfortunately, code growth is big - ~600 bytes
This commit is contained in:
40
shell/hush_test/hush-vars/var_subst_in_for.right
Normal file
40
shell/hush_test/hush-vars/var_subst_in_for.right
Normal file
@@ -0,0 +1,40 @@
|
||||
Testing: in x y z
|
||||
.x.
|
||||
.y.
|
||||
.z.
|
||||
Testing: in u $empty v
|
||||
.u.
|
||||
.v.
|
||||
Testing: in u " $empty" v
|
||||
.u.
|
||||
. .
|
||||
.v.
|
||||
Testing: in u $empty $empty$a v
|
||||
.u.
|
||||
.a.
|
||||
.v.
|
||||
Testing: in $a_b
|
||||
.a.
|
||||
.b.
|
||||
Testing: in $*
|
||||
.abc.
|
||||
.d.
|
||||
.e.
|
||||
Testing: in $@
|
||||
.abc.
|
||||
.d.
|
||||
.e.
|
||||
Testing: in -$*-
|
||||
.-abc.
|
||||
.d.
|
||||
.e-.
|
||||
Testing: in -$@-
|
||||
.-abc.
|
||||
.d.
|
||||
.e-.
|
||||
Testing: in $a_b -$a_b-
|
||||
.a.
|
||||
.b.
|
||||
.-a.
|
||||
.b-.
|
||||
Finished
|
40
shell/hush_test/hush-vars/var_subst_in_for.tests
Normal file
40
shell/hush_test/hush-vars/var_subst_in_for.tests
Normal file
@@ -0,0 +1,40 @@
|
||||
if test $# = 0; then
|
||||
exec "$THIS_SH" var_subst_in_for.tests abc "d e"
|
||||
fi
|
||||
|
||||
echo 'Testing: in x y z'
|
||||
for a in x y z; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in u $empty v'
|
||||
empty=''
|
||||
for a in u $empty v; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in u " $empty" v'
|
||||
empty=''
|
||||
for a in u " $empty" v; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in u $empty $empty$a v'
|
||||
a='a'
|
||||
for a in u $empty $empty$a v; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in $a_b'
|
||||
a_b='a b'
|
||||
for a in $a_b; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in $*'
|
||||
for a in $*; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in $@'
|
||||
for a in $@; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in -$*-'
|
||||
for a in -$*-; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in -$@-'
|
||||
for a in -$@-; do echo ".$a."; done
|
||||
|
||||
echo 'Testing: in $a_b -$a_b-'
|
||||
a_b='a b'
|
||||
for a in $a_b -$a_b-; do echo ".$a."; done
|
||||
|
||||
echo Finished
|
Reference in New Issue
Block a user