Если вы хотите проверить успешность или неудачу команды, вы можете положиться на ее код завершения. Зная, что каждая команда вернет 0
в случае успеха или любое другое число в случае сбоя, у вас есть несколько вариантов обработки ошибок каждой команды.
|| обработчик
npm run build:prod || exit 1
если условие
if docker-compose -f .docker/docker-compose.ecr.yml build my-app; then
printf "success\n"
else
printf "failure\n"
exit 1
fi
the $? переменная
docker-compose -f .docker/docker-compose.ecr.yml push my-app
if [ $? -gt 0 ]; then
printf "Failure\n"
exit 1
fi
traps
err_report() {
echo "Error on line $1"
}
trap 'err_report $LINENO' ERR
aws ecs update-service --cluster ...
set -e
Чтобы глобально «выйти из ошибки», тогда set -e
сделает именно это. Он не даст вам много информации, но сделает работу.