сценарий bash: как сохранить возвращаемое значение первой команды в конвейере?

Bash: Я хочу запустить команду и передать результаты через какой-то фильтр, но если команда не работает , Я хочу вернуть значение ошибки команды, а не скучное возвращаемое значение фильтра:

Например:

if !(cool_command | output_filter); then handle_the_error; fi

Или:

set -e
cool_command | output_filter

В любом случае меня волнует возвращаемое значение cool_command о - для ' if 'в первом случае или для выхода из скрипта во втором.

Есть ли какая-нибудь чистая идиома для этого?

9
задан AJ. 10 May 2011 в 19:54
поделиться