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/