Перед тем как запустить скрипт в работу программист тщательно тестирует скрипт. Тут нужен дебаггер или отладчик. Рассмотрим 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.