Объединение конвейера со статусом выхода в сценарии оболочки bash

У меня есть эта команда сценария оболочки bash , которая запускает date , если make завершается успешно (завершается с нулевым статусом выхода) и наоборот. наоборот:

make && date

, но теперь я хочу обработать его вывод, например

make | sed s/a/A/

Если я сделаю

make | sed s/a/A/ && date

date выполнится, даже если make завершится неудачно.

Если я вместо этого выполню

make && date | sed s/a/A/

, то sed обработает вывод date вместо make .

Знаете ли вы какое-нибудь решение? Спасибо!


P.S. Я пробовал это:

(make | sed s/a/A/) && date

date все еще работает, когда make не работает.

(make && (date > /dev/null)) | sed s/a/A/

date не запускается, когда make завершается успешно.

9
задан Gnubie 9 September 2011 в 11:30
поделиться