Поиск…


Отладка сценария bash с помощью «-x»

Используйте «-x» для включения отладочного вывода выполненных строк. Его можно запускать на весь сеанс или сценарий или включать программно в сценарий.

Запустите сценарий с включенным отладочным выходом:

$ bash -x myscript.sh

Или же

$ bash --debug myscript.sh

Включите отладку в сценарии bash. Он может быть дополнительно включен, хотя отладочный вывод автоматически сбрасывается при выходе сценария.

#!/bin/bash
set -x   # Enable debugging
# some code here
set +x   # Disable debugging output. 

Проверка синтаксиса скрипта с «-n»

Флаг -n позволяет проверить синтаксис скрипта без его выполнения:

~> $ bash -n testscript.sh
testscript.sh: line 128: unexpected EOF while looking for matching `"'
testscript.sh: line 130: syntax error: unexpected end of file

Отладка usigh bashdb

Bashdb - это утилита, которая похожа на gdb, поскольку вы можете делать такие вещи, как заданные контрольные точки в строке или в функции, печатать содержимое переменных, вы можете перезапустить выполнение сценария и многое другое.

Обычно вы можете установить его через менеджер пакетов, например, в Fedora:

sudo dnf install bashdb 

Или получить его с главной страницы . Затем вы можете запустить его со своим скриптом в качестве параметра:

bashdb <YOUR SCRIPT>

Вот несколько команд, которые помогут вам начать:

l - show local lines, press l again to scroll down
s - step to next line 
print $VAR - echo out content of variable 
restart - reruns bashscript, it re-loads it prior to execution.
eval - evaluate some custom command, ex: eval echo hi

b <line num> set breakpoint on some line 
c - continue till some breakpoint 
i b - info on break points 
d <line #> - delete breakpoint at line #

shell - launch a sub-shell in the middle of execution, this is handy for manipulating variables

Для получения дополнительной информации я рекомендую обратиться к руководству: http://www.rodericksmith.plus.com/outlines/manuals/bashdbOutline.html

См. Также домашнюю страницу:
http://bashdb.sourceforge.net/



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow