On Tue, Jun 14, 2005 at 10:12:23PM +0400, Andrey Borzenkov wrote:
> This happens randomly:
>
> {pts/3}% seq 1 3 |while read n; do { echo |echo } |echo $n; done
> 1
> 2
> 3
> {pts/3}% seq 1 3 |while read n; do { echo |echo } |echo $n; done
> 1
> {pts/3}% seq 1 3 |while read n; do { echo |echo } |echo $n; done
> 1
> {pts/3}% seq 1 3 |while read n; do { echo |echo } |echo $n; done
> 1
> 2
> 3
> {pts/3}% echo $ZSH_VERSION
> 4.2.5
I can't reproduce this, I always get "1". And here is even more subtle
bug: I cannot go into infinite loop in order to prove that I always get "1".
$ while :; do seq 1 3 |while read n; do { echo |echo } |echo $n; done ; done
1
$ while :; do seq 1 3 |while read n; do { echo |echo } |echo $n; done ; done
1
$ while :; do seq 1 3 |while read n; do { echo |echo } |echo $n; done ; done
1
$ while :; do seq 1 3 |while read n; do { echo |echo } |echo $n; done ; done
1
$ while :; do seq 1 3 |while read n; do { echo |echo } |echo $n; done ; done
1
$
But:
$ while :; do seq 1 3 |while read n; do { echo |echo } |/bin/echo $n; done ; done
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
...
^C
$
Attachment:
pgprV3rqb5BhF.pgp
Description: PGP signature