delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/12/20/22:47:36

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Mime-Version: 1.0
Date: Fri, 20 Dec 2002 14:51:42 -0800 (PST)
From: Elfyn McBratney <elfyn-cygwin AT sickpuppy DOT co DOT uk>
To: Soren A <soren_andersen AT fastmail DOT fm>, cygwin AT cygwin DOT com
Subject: Re: retval of pipelined cmd in bash
Reply-To: cygwin AT cygwin DOT com
X-Originating-Ip: [195.92.67.70]
Message-Id: <20021220225142.241934979@sitemail.everyone.net>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id gBL3laj14099

Hello Soren,

What you need is the $? variable. The simplest testcase would be this:

>>> rt.c
int
main()
{
  return(21);
}
<<<

  [root AT webdev]:{509}:% gcc rt.c -o rt
  [root AT webdev]:{510}:% ./rt
  [root AT webdev]:{511}:% echo $?
  21
  [root AT webdev]:{512}:% 

Elfyn
elfyn AT exposure DOT org DOT uk


--- Soren A <soren_andersen AT fastmail DOT fm> wrote:
>Hallo Cygwains,
>
>[Heck, I dunno... "Cygwinauts"?].
>
>I have a possibly OT question, that is, a bash shell question. Lacking
>the insight into the deepest reaches of shell-ology, I have come up
>empty on all attempts to solve this one for myself. (Those attempts have
>included doing `info bash' and reading the "Advanced Bash Scripting
>Guide", an excellent resource available on the Web). 
>
>I am writing a shell script that chains together several commands in a
>pipeline -- very *nix-ish. The first command in the pipeline is an
>invocation of `make'. Here's the entire script code -- I've tried many
>very elaborate or bizarre things, before this: 
>----------------------------------8<-----------------------------------
>   function powermake
>   {
>	 declare -x LESS='-z-2$ -s~wR'
>	 declare PAGER='/bin/less'
>	 declare +x ECODE=
>	 { make "$@" || ECODE=$? ; } 2>&1 | tee $MAKE_ERR_TO | \
>	    /cdv/f/scr/colormake.pl | $PAGER -O"${MAKE_ERR_TO}.colorlog"
>	 if [[ $ECODE ]]  # "0" and "1" are both TRUE; "null" is FALSE.
>	   then $gvimexe --servername 'QUICKFIX' -q "$(cygpath -wla $MAKE_ERR_TO)"
>	   else echo 'No "make" errors to diagnose: retval was ' '"'$ECODE'".'
>	 fi
>	 return $ECODE
>   }
>----------------------------------8<-----------------------------------
>
>The problem I am trying to solve is how to get the return value of the
>`make' tool. If there was an error I need to know about it. But as it
>stands, nothing that i have tried will cause me to see the VIM editor
>session start up; the value in ECODE is apparently always "0". 
>
>Does anyone know how to do this -- how to pull out a return value from a
>command in the middle of a pipeline? 
>
>   Thanks,
>     Soren
>-- 
>Yes, it's really Sören, not Soren.
>
>
>
>
>
>--
>Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>Bug reporting:         http://cygwin.com/bugs.html
>Documentation:         http://cygwin.com/docs.html
>FAQ:                   http://cygwin.com/faq/

_____________________________________________________________
www.smokeJet.com - Free UK Internet Services

_____________________________________________________________
Select your own custom email address for FREE! Get you AT yourchoice DOT com w/No Ads, 6MB, POP & more! http://www.everyone.net/selectmail?campaign=tag

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019