Мне кажется, я изначально неправильно понял ваш вопрос.Вы можете в любой момент приостановить активный процесс, нажав Ctrl+Z
, и возобновить его с помощью встроенной функции fg .
Для того, чтобы сценарий приостановился после выполнения ряда итераций.Вы можете использовать переменную счетчика и оператор по модулю %
:
i=1
for f in `cat files`; do
echo $f
if (( i % 10 == 0 )); then # pause every 10 iterations
read
fi
let "i++"
done
Мой первоначальный ответ был:
Вы можете использовать read встроенный, чтобы оболочка ожидала, пока пользователь не нажмет клавишу RETURN
(или клавишу EOF
, Ctrl+D
):
for i in `cat files`
do
echo $i
read
done
Вы можете использовать опцию -t
read
, чтобы установить тайм-аут и продолжить выполнение:
for i in `cat files`
do
echo $i
read -t 1
done
Выше будет возобновлено выполнение через 1 секунду, если пользователь не нажмет клавишу RETURN
.