@polyakovyevgeniy

Как правильно обрабатывать ошибки в bash скриптах?

Как правильно обработать ошибки в автозапускаемых скриптах? У меня такая проблема: Есть скрипт к примеру монтирования жесткого диска при запуске системы. Но иногда жесткого диска нет и при загрузке ос скрипт пораждает ошибку, и операционная система дальше не загружается никак. И загрузиться можно только если вставить этот диск. Как написать скрипт, чтобы если к примеру что-то пошло не так, система загружалась дальше, а не всавала и ждала когда этот диск появиться?
Ну меня интересует пару строчек кода, которые можно добавить в скрипт, и внутри прописать код который мне нужен, а если что-то выполниться не так, просто пойдет загрузка дальше, возможно с выводом в лог сообщения об ошибке. Как в C# блок try/catch например
  • Вопрос задан
  • 1863 просмотра
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
А нет универсальной проверки на любую ошибку? Типо такого?

скрипт завершается при ошибке в выполненной команде только если bash был запущен с ключом -e.
Можно отменить эффект этого ключа выполнив команду set -e
Или добавить к команде, которая может завершиться с ошибкой || : например так:
do-something || :
Или завернуть вызов такой команды в условие, например так:
if ! do-something ; then
  echo 'do-something failed'
fi


Более подробно можно прочитать в man 1 bash, в разделе о встроенной команде set.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы