Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов. 8(977)608-78-62 adm@nixm.ru
индикация меняющихся значений в bash
индикация меняющихся значений в bash
Занимаясь разбором тулзы tput я нарыла в англоязычной литературе
такой вот скриптик выводящий меняющуюся последовательность
То есть я привыкла к выводу всего ряда последовательности в
выполняемом скрипте. А здесь предыдущий результат затирается новым
но в тоже время оставляет индикатор вывода в неизменном виде "Count:"
Меняем данные и имя индикатора и получаем мониторинг нужного процесса.
Или вот так
Интересно что во втором скрипте затирание строки
пришлось перенести за команду echo
такой вот скриптик выводящий меняющуюся последовательность
То есть я привыкла к выводу всего ряда последовательности в
выполняемом скрипте. А здесь предыдущий результат затирается новым
но в тоже время оставляет индикатор вывода в неизменном виде "Count:"
Меняем данные и имя индикатора и получаем мониторинг нужного процесса.
Код: Выделить всё
#!/bin/bash
#filename: count.sh
echo -n Count:
tput sc
count=0;
while true; do
if [ $count -lt 10 ]; then
let count++
sleep 1
tput rc
tput ed
echo -n $count
else echo; exit 0;
fi
done
Код: Выделить всё
#!/usr/bin/env bash
echo -n "Count: "
tput sc
for (( i=1; i<=10; i++ )); do
sleep 1
tput rc
echo -n $i
tput ed
done
echo; exit 0
пришлось перенести за команду echo
Последний раз редактировалось nezabudka 12 дек 2015, 13:54, всего редактировалось 1 раз.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Re: индикация меняющихся значений
Я тут подумала, правильней будет вот так
Смена значений будет проходить максимально быстро а индикация
продлится наиболее полное время
Код: Выделить всё
#!/usr/bin/env bash
echo -n "Count: "
tput sc #сохраняем позицию курсора
for (( i=1; i<=10; i++ )); do
tput rc #преводим курсор на сохраненную позицию
tput ed #удаляем от курсора до конца строки
echo -n $i
sleep 1
done
echo; exit 0
продлится наиболее полное время
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay