Мне нужно выполнить ряд командных командных оболочек из не-BASH-скрипта (а именно PHP-скрипта), например:
command1 | command2 | command3
так что, если command1
завершается с ошибкой с ненулевым кодом выхода, каждая другая команда тоже не выполняется. Пока что я придумал:
set -o pipefail && command1 | command2 | command3
Но даже при том, что это работает отлично от терминала, это производит это, если выполнено от сценария:
sh: 1: set: недопустимый параметр -o pipefail