[x3d-public] Bash function to catch return value
Leonard Daly
Leonard.Daly at realism.com
Sat Jul 22 19:00:40 PDT 2023
Not sure why you would want a script as this is almost always done in-line.
$? contains the exit status. 0 is almost always success (I don't know
where it is not) and != 0 is failure. Error message is written to STDERR
unless you direct a command to fail silently.
So something like
(A | B | C ...) 2> /tmp/pipe-$$.err if [ $? -ne 0 ] then exitCode=$?
cat /tmp/pipe-$$.err exit $exitCode fi
Passing the piped command to a function can be dangerous/difficult
because of shell interpolation and quoting. Also note that the piped
output (STDOUT) is printed on the default (at the time of the pipe)
output (probably console), and pipe-$$.err is never cleaned up
(deleted). That is not really bad because most systems delete files
after 24-48 hours in /tmp. If there are no errors, then /tmp/pipe-$$.err
is never created.
Additional useful info:
https://unix.stackexchange.com/questions/164482/pipe-redirect-a-group-of-commands
Leonard Daly
On 7/21/2023 10:15 PM, John Carlson wrote:
> Linux folks:
>
> Does anyone have a bash function (not a separate script) to check the
> exit status of the passed in pipeline or passed in exit status, print
> out the passed in error message, and exit the script if the exit
> status indicates failure?
>
> Thanks!
>
> Should be fairly easy to write?
>
> John
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
--
*Leonard Daly*
3D Systems Engineering
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230722/17aea2d8/attachment.html>
More information about the x3d-public
mailing list