training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как реализовать вывод команд перед исполнением debug set -v BASH

Создано: 24 мая 2017Автор: Егор Астапов2204 просмотраСложность: легкий

Перед тем как запустить скрипт в работу программист тщательно тестирует скрипт. Тут нужен дебаггер или отладчик. Рассмотрим debugger для sh-скриптов. Есть отладочная команда set, которая позволяет выводить на экран название команд перед выполнением. Перед тем как команда сработает она отобразится в консоле. Кто-то скажет, что можно воспользоваться echo название_команды. Такой способ увеличивает объём кода и затрудняет понимание. Благодаря set вы сможете показать каждую команду в командной строке перед выполнением и быстро убрать вывод команд. Если в вашем скрипте 100 команд, то выводить перед каждой командой echo довольно утомительное занятие.


#!/bin/bash
# вывод команд перед исполнением
# можно использовать их в заголовке сценария (в строке sha-bang) -- #!
#!/bin/bash -x

# можно указывать дополнительные ключи в командной строке, при запуске сценария
#bash -v script-name
#bash -o verbose script-name

set -v
# set -o verbose - аналог set -v

# запрет вывода команд перед исполнением
# set +v
# set -o verbose - аналог set +v


echo 1

sleep 2

echo 2

sleep 2

echo 3

exit 0

В скрипте применяется задержка в 2 секунды между командами. Это сделано для того чтобы вы увидели работу команды set.

Комментарии

реклама