Обложка канала

Лига сисадминов

Здесь мы собираем всё, что может быть интересно представителям, пожалуй, лучшей в мире профессии: руководства, лучшие практики, свежие новости мира ИТ, книги, и многое другое.

Лига сисадминов

3 года назад
Открыть в
Как отлаживать 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"; #ит_заметки #linux #bash_scripting