Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: exit value of intermediate program in pipe
- X-seq: zsh-users 1497
- From: Sweth Chandramouli <sweth@xxxxxxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxxx
- Subject: Re: exit value of intermediate program in pipe
- Date: Sat, 2 May 1998 20:50:20 -0400
- In-reply-to: <199805022224.QAA03113@xxxxxxxxxxxxxxxxxxxxxx>
- Mail-followup-to: zsh-users@xxxxxxxxxxxxxxx
- References: <199805022224.QAA03113@xxxxxxxxxxxxxxxxxxxxxx>
On Sat, May 02, 1998 at 04:24:40PM -0600, Steve Talley wrote:
> I have a function foo:
>
> foo () {
> /bin/blah | grep -v "foo"
> }
>
> I would like this function to exit with the exit value from the
> /bin/blah process, but it exits with the exit value from grep instead.
if running /bin/blah isn't very compute-intensive, and doesn't
change its own subsequent input in any way (so that it can be run twice
consecutively with the same results), why not try
foo () {
/bin/blah > /dev/null ; exitstatus=$?
/bin/blah | grep -v "bar"
return $exitstatus
}
in theory, there should be some cleaner way to do this using
a two-way pipe, but i've never been able to get them to work correctly.
i think there are ways to export the value of a variable out of a code
block, which would also do the trick, but
{ /bin/blah ; export exitstatus=$? } | grep -v "bar" ; return $exitstatus
, which is how i thought that was done, didn't work.
-- sweth.
--
"Countin' on a remedy I've counted on before
Goin' with a cure that's never failed me
What you call the disease
I call the remedy" -- The Mighty Mighty Bosstones
Messages sorted by:
Reverse Date,
Date,
Thread,
Author