eapi9-pipestatus.eclass

Name

eapi9-pipestatus.eclass — check the PIPESTATUS array

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.

Supported EAPIs

7 8

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/