LINUX.ORG.RU

Создание строки со статусом выполнения


0

2

Скрипт выполняет цикл «for» N раз. Возможно ли заставить его вычислять процентное выполнение и выдавать это в строке, как у некоторых программ? Я это вижу примерно так: через «echo -n» создаются символы «[]», между которыми 50 пробелов; по мере выполнения эти пробелы заменяются на «#»; так, для 50% половина пробелов будет заменена на решетки. Есть ли более удобный способ, чем реализация через sed?

Может стоит уже выбрать нормальный язык (например С) и прикрутить туда curses (или сразу ncurses)? Это не троллинг, я вполне серьезно.

anonymous
()

for i in {1..10} ; do echo -n . ; sleep 1 ; done | pv -ps 10 > /dev/null

geekless ★★
()
Ответ на: комментарий от AITap
i=0
max=1000
while [ $i -lt $max ]
do
i=$(($i+1))
echo XXX
echo $(($i*100/$max))
echo "Random: $RANDOM"
echo XXX
done | dialog --gauge wait 0 0 0
AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.