Вам не нужно помещать чтение в каждую строку, просто добавьте ловушку, подобную приведенной ниже, в свой сценарий bash, она даст желаемый эффект, например.
#!/usr/bin/env bash
set -x
trap read debug
< YOUR CODE HERE >
Работает, только что протестировал с bash v4.2.8 и v3.2.25.
УЛУЧШЕННАЯ ВЕРСИЯ
Если ваш скрипт читает содержимое из файлов, перечисленное выше не будет работать. Обходной путь может выглядеть как в следующем примере.
#!/usr/bin/env bash
echo "Press CTRL+C to proceed."
trap "pkill -f 'sleep 1h'" INT
trap "set +x ; sleep 1h ; set -x" DEBUG
< YOUR CODE HERE >
В этом случае, чтобы остановить скрипт, вам придется убить его из другой оболочки .
АЛЬТЕРНАТИВА1
Если вы просто хотите подождать несколько секунд, прежде чем переходить к следующей команде в сценарии, следующий пример может сработать для вас.
#!/usr/bin/env bash
trap "set +x; sleep 5; set -x" DEBUG
< YOUR CODE HERE >
Я добавляю set + x и set -x в команду trap, чтобы сделать вывод более читаемым.