Вам не потрібно поміщати прочитання в кожен рядок, просто додайте пастку, як показано нижче, у ваш скрипт 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, щоб зробити вивід більш читабельним.