bash debugging

bash debugging


Параметр отладки может быть установлен в произвольном месте в теле скрипта. Для отладки определенного блока кода, установим перед кодом set -x , а для выхода из отладки при достижении конца отлаживаемого блока, обратим параметр вызвав set +x .

Минус используется для активации опций оболочки, а плюс для деактивации. Пусть это вас не смущает.

Параметры которые вам скорее всего понадобятся для отладки:

set -f

set -o noglob

Отключить получение имени файла с использованием метасимволов (подстановка).
set -v

set -o verbose

Печатает строки ввода оболочки по мере их чтения. Листинг скрипта будет предварительно выводиться на экран перед командами.
set -x

set -o xtrace

Печатает трассировку команд перед выполнением команды.
set -n

set -o noexec

Не исполнять сценарий, а только проверить на наличие синтаксических ошибок. Проверка будет выполнена только для грубых ошибок, надежнее использовать shellchek.

Также длинные параметры следующие за set -o могут быть переданы через переменную SHELLOPTS или используя родную для bash команду shopt.

В shopt включение или отключение опций происходит при помощи флагов:

-s (set) - установить опцию;

-u (unset) - отключить опцию.

Для того что бы отобразить текущие настройки параметров, выполните set -o или shopt

Содержание