494просмотров
31.1%от подписчиков
23 ноября 2025 г.
questionScore: 543
Как активировать debug режим в bash? 1. Использование опции -x
Запустите скрипт с опцией -x, чтобы bash выводил каждую команду перед её выполнением. bash -x script.sh Или добавьте set -x в самом скрипте, чтобы начать отладку с этого места: #!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки 2. Использование опции -v
Опция -v заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса. bash -v script.sh Также можно добавить set -v в скрипте для включения вывода на определённом участке: #!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода 3. Использование режима отладки -xv
Для максимально подробной отладки можно использовать обе опции сразу — -x и -v: bash -xv script.sh 4. Использование trap для пошаговой отладки
Команда trap позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать: trap 'echo "Команда: $BASH_COMMAND"' DEBUG Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку. 5. Отладка с помощью PS4
Переменная PS4 позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию: export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh