From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29329 invoked from network); 31 Aug 1999 15:46:26 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 31 Aug 1999 15:46:26 -0000 Received: (qmail 19426 invoked by alias); 31 Aug 1999 15:46:02 -0000 Mailing-List: contact zsh-users-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 2542 Received: (qmail 19408 invoked from network); 31 Aug 1999 15:46:01 -0000 Date: Tue, 31 Aug 1999 11:41:12 -0400 From: Sweth Chandramouli To: ZSH Users Subject: processing of pipelines Message-ID: <19990831114112.A19733@cj952583-b.alex1.va.home.com> Mail-Followup-To: ZSH Users Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95i Sender: sweth@cj952583-b.alex1.va.home.com i've been part of a recent discussion in the comp.unix.shell newsgroup about how different shells process pipelines, and thought i should ask this group about zsh's behaviour. some quick tests first led me to believe that zsh runs each command in a pipeline sequentially in the current process; some more research now makes me think that this only appeared to be the case because i was testing using a no-op on one side of the pipe, and zsh somehow checks to see if the command on the right side of a pipe is actually reading from the pipe; if not, it treats the pipe like a semicolon. my new hypothesis, then, is that zsh (like ksh) runs all commands in a pipeline in sub-processes except for the last command, which is run in the current process, but that when the pipe isn't actually being used, it splits the pipeline up into smaller lists to be processed individually. yes? no? something else entirely? -- sweth. -- Sweth Chandramouli ; Will Work For Food. *