Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
pws-22: killing the ZSH loops problem
- X-seq: zsh-workers 6668
- From: "Andrej Borsenkow" <borsenkow.msk@xxxxxx>
- To: "ZSH workers mailing list" <zsh-workers@xxxxxxxxxxxxxx>
- Subject: pws-22: killing the ZSH loops problem
- Date: Tue, 15 Jun 1999 20:45:04 +0400
- Importance: Normal
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
I wanted to gzip a bunch of files, so I did
for i in *.txt
do
gzip $i
done
I overlooked that I had (plenty of) already gzipped versions, so after I hitted
a couple of times "n" (as a reply to gzip, if I want to overwrite it) the next
time I just hitted ^C to stop the whole story. It did not. It just killed the
current gzip and for loop happily ran the next one. The easy way to reproduce it
is
bor@itsrm2:~%> while true
while> do
while> echo $((i++))
while> sh -c "read line"
while> done
0
^C
1
^C
2
Note, that hitting ^C simply kills started command instead of killing the whole
loop. The same happens with pws-19. ^Z does not help either - it stops the
current inner command.
Compare it with shell:
bor@itsrm2:~%> sh
$ i=0
$ while true
> do
> i=`expr "$i + 1"`
> echo $i
> sh -c "read line"
> done
0 + 1
0 + 1 + 1
0 + 1 + 1 + 1
^C
$
(sorry, expr was wrong, but I have not used it for quite a long time). Note,
that in shell it kills the whole loop.
/andrej
Messages sorted by:
Reverse Date,
Date,
Thread,
Author