TGViewer
Системный Администратор Системный Администратор @sys_adminos · 1.57K subscribers
Post #264 523
Как отлаживать 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";



👉 @sys_adminos
  • 👍 4
More from @sys_adminos
  1. Sep 14, 2026Libtree Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в ви…
  2. Sep 7, 2026Как работает интернет Если вы полный ноль в интернет-технологиях, и хотите получить общее…
  3. Sep 1, 2026Это одна из моих любимых команд Cisco, которая сэкономила мне столько времени. Вы можете у…
  4. Aug 27, 2026Собираем бюджетный домашний NAS на 14 ТБ Начав заниматься фотографией, я быстро ощутил нех…
  5. Aug 17, 2026Объединение файлов командой cat Команду cat в большинстве случаев используют только для пр…
  6. Aug 10, 2026Как перенести виртуальную машину с Hyper-V на ProxmoxVE 00:00 - Вступление 00:49 - Зачем н…
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 →