I think following demonstrates a bug in the bash port. I have a file
'a.txt' which contains two lines:

----------8<----------
one
two
----------8<----------

And a 'test.sh' which is:

----------8<---------
while read a
do
echo $a
done
-----------8<----------

This is a successfull test:

-----------8<----------
cat a.txt | sh test.sh
one
two
-----------8<----------

If I use 'bash' I get:

-----------8<----------
cat a.txt | bash test.sh
one
-----------8<----------

In Linux, I get:

-----------8<----------
cat a.txt | bash test.sh
one
two
-----------8<----------

I stumbled across this porting 'git', the distributed version control
system used by the Linux Kernel.

Chris.
--
http://www.minixtips.com