Bash:
Використання дебагера

Як:

Bash не має вбудованого дебагера, як деякі інші мови, але ви можете використовувати вбудовані команди, такі як set -x, для відстеження того, що відбувається. Або, для покращення, є bashdb, відповідний дебагер для крокового проходження через ваш код. Ось короткий огляд:

# Використання set -x для дебагу
set -x
echo "Початок дебагінгу"
my_var="Вітаємо, Світ Дебагінгу!"
echo $my_var
set +x

# Використання bashdb
# Встановіть bashdb за допомогою вашого менеджера пакетів, наприклад, apt, yum, brew.
# Дебаг скрипта під назвою my_script.sh:
bashdb my_script.sh

Вивід при виконанні з set -x:

+ echo 'Початок дебагінгу'
Початок дебагінгу
+ my_var='Вітаємо, Світ Дебагінгу!'
+ echo 'Вітаємо, Світ Дебагінгу!'
Вітаємо, Світ Дебагінгу!
+ set +x

Поглиблений аналіз

Історично, дебагінг Bash скриптів означав розставляння у коді команд echo. Але потім з’явилась команда set -x, яка дала нам можливість зазирнути у виконання коду без ручного виведення результатів. І для тих, хто прагне більшого контролю, з’явився дебагер bashdb, натхненний дебагером gdb для C/C++.

Що стосується альтернатив, то окрім команд set (-x, -v, -e), є інші варіанти: перенаправлення виводу до файлу для аналізу або використання зовнішніх інструментів, таких як ShellCheck, для статичного аналізу.

З точки зору реалізації, set -x легко застосовувати; це рідний варіант Bash, який друкує команди та їх аргументи під час виконання. З іншого боку, bashdb дозволяє крокувати через код, встановлювати точки зупинки та оцінювати вирази - речі, що дають вам боротись з більш непомітними помилками.

Див. також