Return codes and pipelines

Rolf Campbell rcampbell@tropicnetworks.com
Mon Jan 13 03:30:00 GMT 2003


/home/rcampbell> (true | true) && echo true || echo false
true
/home/rcampbell> (true | false) && echo true || echo false 
false 
/home/rcampbell> (false | true) && echo true || echo false 
true 
/home/rcampbell> (false | false) && echo true || echo false 
false

The third test above yields different results when run on Linux.  I'm
wondering if this was the desired result or not?  (This is not a new
problem, it's been around for at least a year of releases).  It makes
some makefiles not work as expected, specifically, the GCC manual
describes how to perform auto-dependency analysis like:

gcc ... | sed ...

But, if gcc fails, sed will still work, thus make will not consider it a
failure and will continue.

I know there are many ways to avoid this specific problem, already
implemented one.  Just wanted to let you guys know.


-Rolf Campbell
Software Designer
Tropic Networks



More information about the Cygwin mailing list