Добавить в начало скрипта:
set -euxo pipefail
Что всё это значит:
set -e
set -e - прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true.
set -u
set -u - прекращает выполнение скрипта, если встретилась несуществующая переменная.
set -x
set -x - выводит выполняемые команды в stdout перед выполненинем.
set -o pipefail
set -o pipefail - прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand вернёт ошибку, не смотря на true в конце пайплайна: mycommand | true.