Мой любимый метод обозначения прогресса - это «спиннер».Вот тот, который я реализовал, используя bash
.Первый параметр - это PID процесса, который вы хотите отслеживать, а второй параметр - необязательное сообщение.ПИД легче всего передать через $(pgrep <some_process_name>)
#!/bin/bash
spinner() {
[[ -n "$2" ]] && echo -n "$2 "
if [[ ! $1 =~ ^[[:digit:]]+$ ]]; then
return
fi
while [[ -d /proc/$1 ]]; do
for c in '/' '-' '\' '|'; do
printf "%c\b" "$c"
sleep 0.1
done
done
printf " \n"
}
du /usr > /dev/null 2>&1 & # Example program to monitor
spinner $(pgrep du) "Optional Message Here"