From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27348 invoked from network); 1 Sep 1999 08:29:44 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Sep 1999 08:29:44 -0000 Received: (qmail 23063 invoked by alias); 1 Sep 1999 08:29:26 -0000 Mailing-List: contact zsh-users-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 2545 Received: (qmail 23056 invoked from network); 1 Sep 1999 08:29:26 -0000 Date: Wed, 1 Sep 1999 10:29:24 +0200 (MET DST) Message-Id: <199909010829.KAA32012@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-users@sunsite.auc.dk In-reply-to: "Bart Schaefer"'s message of Tue, 31 Aug 1999 22:34:44 +0000 Subject: Re: processing of pipelines Bart Schaefer wrote: > ... > > Zsh *does* run the last command in a pipeline in the current > shell when the command *is* a builtin, even if that builtin is a loop, > which is AFAIK different from any other shell; it means that you can do > things like > > some external command | while read line; do export $line; done > > and the current shell's environment will actually be modified. > > ... Only one more comment: once such a pipe is suspended, the shell builtin/construct at the end is put in a sub-shell (and the environment of the parent won't change any more, of course). This has caused some trouble lately... (but you *can* suspend such pipes and if you don't do that you can use parameters changed there -- its an attempt to get the best of both worlds). Bye Sven -- Sven Wischnowsky wischnow@informatik.hu-berlin.de