From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29877 invoked from network); 3 May 1998 10:21:14 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 3 May 1998 10:21:14 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id FAA08370; Sun, 3 May 1998 05:30:37 -0400 (EDT) Resent-Date: Sun, 3 May 1998 05:30:25 -0400 (EDT) From: "Bart Schaefer" Message-Id: <980503023014.ZM31001@candle.brasslantern.com> Date: Sun, 3 May 1998 02:30:14 -0700 In-Reply-To: <19980503021749.21621@astaroth.nit.gwu.edu> Comments: In reply to Sweth Chandramouli "Re: Re: exit value of intermediate program in pipe" (May 3, 2:17am) References: <199805022224.QAA03113@ipecac.Central.Sun.COM> <980502190831.ZM29269@candle.brasslantern.com> <19980503021749.21621@astaroth.nit.gwu.edu> X-Mailer: Z-Mail (4.0b.820 20aug96) To: Sweth Chandramouli , zsh-users@math.gatech.edu Subject: Re: exit value of intermediate program in pipe MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: <"jDS1v1.0.C22.ma3Jr"@math> Resent-From: zsh-users@math.gatech.edu X-Mailing-List: archive/latest/1502 X-Loop: zsh-users@math.gatech.edu X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu On May 3, 2:17am, Sweth Chandramouli wrote: } Subject: Re: Re: exit value of intermediate program in pipe } } isn't this what wait was designed for? } } foo () { } /bin/blah >>(grep -v "foo") } wait } } That doesn't work, because process substitutions [which is what >>(...) is] and command substitutions [`...` and $(...)] are not placed in the job table. The wait command only waits for jobs that were backgrounded with &. (This could be considered a bug, I suppose.) } what exactly is the syntax that >> uses to become a pipe When the >> is immediately followed by a parenthesized command list, it means pipe to that list. There's also >(...) which uses a FIFO. This is in the zsh tekinfo documentation, under "Process Substitution". For input, <<(...), <(...), and =(...) use a pipe, a FIFO, and a temp file, respectively. } the way you describe it looks a lot like a ksh two-way pipe Not having used ksh much and never having seen any ksh doc, I'm not sure what that means; but the pipe isn't two-way. } as i mentioned in my other } reply to this thread, i've never been able to get |& to work That just means redirect both stdout and stderr as the pipe input. It is a csh-ism, and not equivalent to the ksh syntax. See the FAQ. (I think that means that you want the "coproc" builtin and <&p and >&p redirection for setting up a "two-way pipe.") -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com