Ошибка сборки в Go при сбое пользовательской команды

76
4

Я использую пользовательскую команду Go для выполнения сценария оболочки. Проблема в том, что если сценарий не работает по какой-либо причине, сборка все еще выполняется. Как я могу сбой сборки, если что-то пошло не так в моем сценарии оболочки?

спросил(а) 2021-01-09T16:58:44+03:00 5 месяцев, 2 недели назад
1
Решение
90

Расположите логику в своем скрипте, чтобы в случае сбоя скрипта он вышел с кодом выхода > = 1

#!/bin/bash
N=0
#do your logic here and increment N for each failure.
ls /non/existent/dir || {
echo "can't ls /non/existent/dir"
N=$((N+1))
}
#do something else
echo "we had $N errors"
exit N

альтернативно, если вы хотите быстро выйти из строя

#!/bin/bash
ls /non/existent/dir || {
echo "can't ls /non/existent/dir"
exit 1
}

Для каждой оболочки cmd вы можете увидеть код выхода с помощью...

 echo $?

ответил(а) 2021-01-09T16:58:44+03:00 5 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема