TGViewer
Системный администратор Системный администратор @i_linux · 1.95K subscribers
Post #1009 765
Как отлаживать bash-script-ы по шагам

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Волшебная строчка, которую нужно добавить после #!/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.

# Online Bash Shell.
# Code, Compile, Run and Debug Bash script online.
# Write your code in this editor and press "Run" button to execute it.

trap 'echo "# $BASH_COMMAND";read' DEBUG

echo line1
echo line2

echo line3

echo "Hello World";


👉@i_linux
  • 👍 2
More from @i_linux
  1. Sep 11, 2026Горячие клавиши VirtualBox Основные ярлыки в VirtualBox F1: Отображает справку. Ctrl + D М…
  2. Sep 8, 2026Увеличение времени сессии SSH Бывает, что выполнение удаленно запущенной команды может зат…
  3. Sep 1, 2026Регулярные выражение для поиска IP адресов Ниже представлены регулярные выражения, которые…
  4. Aug 26, 2026Старое доброе видео, кто помнит? Веселенький денек у сисадмина... Системный администратор…
  5. Aug 17, 2026ChopChopGo Это инструмент для просмотра журналов Linux наподобие chainsaw и Hayabusa, отли…
  6. Aug 8, 2026До / После 📲 Мы в MAX 👉@i_linux
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 →