Как получить точки каждую секунду до завершения команды

sleeper(){ while `ps -p $1 &>/dev/null`; do echo -n "${2:-.}"; sleep ${3:-1}; done; }; export -f sleeper


Команда sleeper задает функцию в терминале, которая выводит точки через равные интервалы времени до завершения указанной команды (заданной ее PID номером). Функция sleeper работает в бесконечном цикле и опрашивает запущенный процесс с указанным PID (идентификатором процесса). По умолчанию, функция выводит точку (.) каждую секунду, однако интервал вывода точек может быть изменен указанием соответствующего значения в качестве третьего аргумента функции. Альтернативным способом отслеживания выполнения команды может быть использование команды wait.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *