TGViewer
Системный Администратор (Сисадмин) Системный Администратор (Сисадмин) @sysadminof · 14.3K subscribers
Post #5587 1.58K
Как отлаживать 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";



📲 Мы в MAX

👉 @sysadminof
  • 👍 7
  • 🔥 1
More from @sysadminof
  1. Sep 27, 2026Полезные команды Linux. Манипуляции с текстом # cat -n file1 Вывести содержимое файла, нум…
  2. Sep 25, 2026📲 Мы в MAX 👉 @sysadminof
  3. Sep 24, 2026Как скопировать структуру каталогов в Linux В этой статье мы расскажем как в две команды с…
  4. Sep 22, 2026Linux приветствует еще одного нового пользователя 😀 📲 Мы в MAX 👉 @sysadminof
  5. Sep 22, 2026Обжим RJ45. Залипательно. 📲 Мы в MAX 👉 @sysadminof
  6. Sep 21, 2026Меняем пароль пользователя Active Directory с помощью PowerShell Для этого используйте ком…
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 →