Простой индикатор выполнения на bash
Сабж. При желании переделать под проценты.
i=1
max=9000
while ... ; do
[ $[ $i % 50 ] -eq 1 ] && echo -e -n "\r$i/$max"
i=$[ $i + 1 ]
done
echo
Сабж. При желании переделать под проценты.
i=1
max=9000
while ... ; do
[ $[ $i % 50 ] -eq 1 ] && echo -e -n "\r$i/$max"
i=$[ $i + 1 ]
done
echo
Способ не претендует на оригинальность, но, по моим наблюдениям, им мало кто пользуется. Не требуется rsync, самба, nfs, ftp и прочее. Только стандартный tar и netcat. Две строчки команд, по одной на машину.
Сегодня пробовал написать интерактивный скриптик для сортировки файлов на сервере. Столкнулся с неожиданными проблемами в shell'e. Суть такова: read оказывается там не реентерабелен, при попытке вызвать его повторно - срывает на себя весь ввод предыдущего вызова. Например:
find /somewhere/ -name bla-bla-bla | while read item; do
...
read -n VAR
# в этом месте смотрим вывод скрипта и делаем FFUUUUUU!!!!11
done
Можно попробовать обойти это через открытие ещё одного файлового дескриптора.
UPD: Таки да, добил. Как и предполагалось, через открытие дополнительного дескриптора. Спасибо умным людям в интернете.
программист - это такой вид идиота, который потратит час на пятиминутную работу, чтобы потом её за секунду сделал компьютер.
Понимает как относительные, так и абсолютные пути
Использует для своей работы системную временную директорию (обычно это /tmp), берегитесь переполнения. Ограничения: