Теория
Что выводит команда echo $?
Что означает код завершения в Bash, почему его нужно читать сразу и как конвейер и настройка pipefail влияют на значение специального параметра $?.
Читать ответ