ash: handle "A=1 A=2 B=$A; echo $B". closes bug 947.

This commit is contained in:
Denis Vlasenko
2008-02-15 15:02:15 +00:00
parent 977bc6a137
commit 0e6f661e23
6 changed files with 96 additions and 39 deletions

View File

@ -0,0 +1,6 @@
a=a A=a
a=a A=a
a= A=
a= A=
a=a A=a
a=a A=a

View File

@ -0,0 +1,14 @@
# check that first assignment has proper effect on second one
(
a=a A=$a
echo a=$a A=$A
)
(a=a A=$a; echo a=$a A=$A)
(a=a A=$a echo a=$a A=$A)
(a=a A=$a /bin/echo a=$a A=$A)
f() { echo a=$a A=$A; }
(a=a A=$a f)
(a=a A=$a; f)

View File

@ -0,0 +1 @@
bus/usb/1/2

View File

@ -0,0 +1 @@
X=usbdev1.2 X=${X#usbdev} B=${X%%.*} D=${X#*.}; echo bus/usb/$B/$D

View File

@ -17,6 +17,7 @@ export THIS_SH
do_test()
{
test -d "$1" || return 0
echo do_test "$1"
(
cd "$1" || { echo "cannot cd $1!"; exit 1; }
for x in run-*; do
@ -53,7 +54,6 @@ if [ $# -lt 1 ]; then
modules=`ls -d ash-*`
for module in $modules; do
echo do_test $module
do_test $module
done
else