Назначение: Если вы в написании скриптов и вы хотели бы отображать миленький бар прогресса текст в качестве скрипты выполнять различные команды, то ваши заботы остались в прошлом. В этом блоге мы увидим, как мы можем реализовать бар текст прогресс в наших сценариях оболочки с помощью очень удобная утилита под названием « clpbar . Некоторые хорошие причины, чтобы прогресс бар:

  • 1. Пусть пользователь знаю, сколько еще они должны ждать до определенной задачи / команда получает завершены.
  • 2. Визуально привлекательным и профессиональным

и есть еще много ...

Шаг 1: Скачать или получить исходный

Эта утилита (насколько я знаю) не является частью любой стандартный дистрибутив как Ubuntu, Fedora, Debian, и т.д. Так что мы будем скачать утилиту для SourceForge сайте. Вы заметите, что автор загружены различные форматы бинарного пакета установки: ". Деб" пакет для Debian / Ubuntu системах ". RPM" для систем на базе Fedora, а также архив с исходными кодами, если вам нужно, чтобы скомпилировать его. Мы будем скачать ". Деб" из пакетов и установит на системе Debian Lenny. Либо вы можете вручную скачать файл со своего интернет-браузера или вы можете просто ввести эту команду на Linux системы:
# apt-get update
# apt-get wget
# wget http://downloads.sourceforge.net/clpbar/bar_1.10.9_i386.deb?modtime=1183036896&big_mirror=0

Это будет скачать файл в директории, откуда вы дали выше команды.

Шаг 2: Установите файл "Деб."

». Деб" Как только вы загрузили файл на Linux системы, установить его с помощью DPKG команду:
# dpkg -i <file-you-downloaded-from-step1>
Example:
# dpkg -i bar_1.10.9_i386.deb

Шаг 3: Используйте его в пределах вашего скрипта, либо даже с автономными вместе с любой командой

После установки закончить установку с шага 2, теперь у Вас есть бинарный называемый "бар". Например просто наберите:
# bar
# t 0.0B/s elapsed: 0:00:01

Это показывает, что "бар" установлен правильно. Теперь давайте посмотрим, эта команда в некотором действии. Предположим, вы хотите распаковать 500 + MB файл (скажем image.tar.bz2), и вы хотели бы видеть прогресс бар и расчетное время завершения. Просто дайте следующую команду:
#bar image.tar.bz2 | tar xjf -

, и вы сможете увидеть что-то вроде этого:
# bar image.tar.bz2 | tar xjf -
44.2MB at 383.1KB/s eta: 0:05:20 26% [========= ]

Приведенные выше данные сообщают нам следующее:

ETA (расчетное время прибытия): 5:20

Сколько скорость передачи данных: 383.1KB / с

Сколько из файла untar'd: 44.2MB

Примечание: Не игнорировать знак "-" в конце команды выше, в противном случае вы получите сообщение об ошибке.

Шаг 4: Использование в скрипт

Использование "бар" полезности в скрипт очень простой. Вот пример сценария оболочки Bash:
#!/bin/bash
echo "Starting untaring image..."
bar image.tar.bz2 | tar xjf -
echo "Untarring successfully completed"


В приведенном выше примере, который мы видели выше, является лишь верхушкой айсберга. Я настоятельно рекомендую вам прочитать справочную страницу для бара, чтобы исследовать его истинного потенциала:
# man bar

Вы можете изменить цвет текста и фона, изменять метки и т.д.

Дополнительные примеры

Ниже приведены некоторые примеры прямо из справочной странице бара:

Пример 1: Использование строку, чтобы скопировать 2.4GB файл с устройства (в данном случае накопитель на магнитной ленте) в файл, используя 64K буфера.
# bar --in-file /dev/rmt/1cbn --out-file tape-restore.tar --size 2.4g --buffer-size 64k

Пример 2: Использование строку, чтобы скопировать файл 37tb по сети с помощью SSH.

# ssh remote `dd if=file` | bar --size 37t > file

Пример 3: Использование бар внутри трубы тар-команду:
Нормальная тар-команду трубы могут быть:

# (cd /some/dir/somewhere && tar -cf - *) | (cd /some/other/dir && tar -xBpf -)

3a: с использованием штрих в тар-труба:
# cd /some/dir/somewhere && tar -cf - *) | bar | (cd /some/other/dir && tar -xBpf -)
3b: Использование бар с размером вариант в тар-труба:
# du -sk /some/dir/somewhere
6281954 /some/dir/somewhere
# (cd /some/dir/somewhere && tar -cf - *) | bar --size 6281954k | (cd /some/other/dir && tar -xBpf -)

Пример 4: Использование баре на обычный файл. (Обратите внимание, что размер опция не нужна, здесь, как и бар будет получать размер файла сам.)
# bar --in-file ./file | ssh remote ` cd /some/dir && dd of=file`

Пример 5: Создание файла 512k случайных данных

# dd if=/dev/random bs=1024 count=512 | bar -s 512k -of ./random

Как вы можете видеть из приведенных выше примеров, что бар очень мощный и полезный инструмент.

Наслаждайтесь Bar'ing .... :)

Как обычно, пожалуйста, оставьте комментарий / обратной связи, если у вас есть. Комментарии призывает блоггеров размещать все больше и держать их духа.

Также не забудьте оценить этот пост ниже.

Быть общительным, Share!