eapi9-pipestatus.eclass
Description
A stand-alone implementation of a possible future pipestatus command (which would be aimed for EAPI 9). It is meant as a replacement for "assert". In its simplest form it can be called like this:
foo | bar
pipestatus || die
With the -v option, the command will also echo the pipe status array, so it can be assigned to a variable like in the following example:
local status
foo | bar
status=$(pipestatus -v) || die "foo | bar failed, status ${status}"
Caveat: "pipestatus" must be the next command following the pipeline. In particular, the "local" declaration must be before the pipeline, otherwise it would reset the status.
Functions
- pipestatus [-v]
-
Check the PIPESTATUS array, i.e. the exit status of the command(s) in the most recently executed foreground pipeline. If called with option -v, also output the PIPESTATUS array.
Return value: last non-zero element of PIPESTATUS, or zero if all are zero
Authors
Ulrich Müller <ulm@gentoo.org>
Maintainers
Ulrich Müller <ulm@gentoo.org>
Reporting Bugs
Please report bugs via https://bugs.gentoo.org/