TGViewer
Секреты сисадмина | DevOps, Linux, SRE Секреты сисадмина | DevOps, Linux, SRE @sysadmin_library · 25.5K subscribers
Post #4182 5.07K
Как отлаживать bash-script-ы по шагам

Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам

#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3

Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.

Ингредиенты
• Команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды.
• Команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER, либо Ctrl+C)
• Переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.

#СекретыСисадмина
More from @sysadmin_library
  1. Sep 30, 2026document post
  2. Sep 30, 2026Переменные среды в Windows В данной статье показаны действия, с помощью которых можно узна…
  3. Sep 30, 2026Объектное хранилище в эпоху быстрых данных Объём данных, с которыми нужно работать, растёт…
  4. Sep 30, 2026Bash Массивы Кроме обычных переменных, bash также различает массивы. Обратите внимание, чт…
  5. Sep 30, 2026Бесплатный урок: права доступа к файлам в Linux 🐧 Разбор того, как устроены права в Linux…
  6. Sep 29, 2026document post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →