sleeper(){ while `ps -p $1 &>/dev/null`; do echo -n "${2:-.}"; sleep ${3:-1}; done; }; export -f sleeper
Команда sleeper
задает функцию в терминале, которая выводит точки через равные интервалы времени до завершения указанной команды (заданной ее PID номером). Функция sleeper
работает в бесконечном цикле и опрашивает запущенный процесс с указанным PID (идентификатором процесса). По умолчанию, функция выводит точку (.
) каждую секунду, однако интервал вывода точек может быть изменен указанием соответствующего значения в качестве третьего аргумента функции. Альтернативным способом отслеживания выполнения команды может быть использование команды wait
.