пятница, 21 апреля 2017 г.

Небольшие заметки про отладку Bash скриптов


Если вам когда-либо приходилось писать сложные скрипты на Bash, то вы наверняка думали о двух вещах:
  1. Никогда больше не писать сложные скрипты на Bash.
  2. Как отлаживать то, что уже написано?
Если с первым пунктом все понятно, то ответ на второй вопрос не так просто найти. Интегрированный среды для пошаговой отладки я не нашел (если не брать в расчет странный BASH Debugger). Но способ получить трейс есть, также как и выполнить скрипт по шагам.

Получить трейс выполнения проще простого. Надо всего лишь запустить bash с параметром -x. Либо в самом коде выполнить команду set +x. Первый вариант выглядит предпочтительней, потому что вы извне контролируете — нужен вам подробный вывод или нет. Конечному пользователю такой вывод обычно не только не нужен, но и откровенно мешает.

Посмотрим, как это работает на практике.