Создайте индикатор выполнения в Bash

Sozdajte Indikator Vypolnenia V Bash



Когда требуется подождать фиксированное количество времени во время выполнения скрипта, лучше создать индикатор выполнения, чтобы информировать пользователя о том, что нужно подождать некоторое время. Индикатор выполнения можно создать с помощью простого сценария Bash или некоторых встроенных команд Linux, таких как «cv», «dialog» и т. д. В этом руководстве показаны методы создания индикаторов выполнения с использованием сценария Bash.

Различные примеры создания индикатора выполнения в Bash

В этой части руководства показаны различные способы реализации индикатора выполнения в Bash.

Пример 1: реализация простого индикатора выполнения без какой-либо команды

Создайте файл Bash со следующим сценарием, который отображает индикатор выполнения с использованием символа «#» и команды «sleep». Команда «printf» используется здесь для отображения индикатора выполнения. Индикатор выполнения разделен на четыре части. 25% отображаются через 1 секунду. 50% отображается через 3 секунды. 75% отображается через 2 секунды. 100% отображается через 1 секунду.







#!/бин/баш

printf ' \n Подождите, чтобы выполнить задание... \n \n '

# Подождите 1 секунду

спать 1

# Печатаем первую часть индикатора выполнения

printf '[##### ] 25%% выполнено. '

# Подождите 3 секунды

спать 3

# Распечатать вторую часть индикатора выполнения

printf '[########## ] Выполнено на 50%%. '

# Подождите 2 секунды

спать 2

#Распечатать третью часть индикатора выполнения

printf '[############### ] Выполнено на 75%%. '

# Подождите 1 секунду

спать 1

# Печатать последнюю часть индикатора выполнения

printf '[####################] 100%% завершено. '

printf ' \n \n Задача выполнена. \n \n '

.



Следующий вывод появляется после 1 секунды выполнения скрипта:







Следующий вывод появляется после 7 секунд выполнения скрипта:



Пример 2: реализация индикатора выполнения с помощью команды «Pv»

Полная форма команды «pv» — «просмотр каналов». Он используется для отслеживания хода данных, которые передаются через канал, и отображения индикатора выполнения в зависимости от размера данных. Эта команда по умолчанию не установлена ​​в системе. Запустите следующую команду, чтобы установить команду «pv», прежде чем практиковаться в сценарии этого примера:

$ судо подходящий установить пв

Вы должны выбрать файл большого размера, который копируется из одного места в другое. Создайте файл Bash со следующим скриптом, который копирует файл «test.txt» из текущего местоположения в местоположение «/home/fahmida/temp/». Команда «pv» используется здесь для отображения индикатора выполнения. Индикатор выполнения отображается в зависимости от размера файла «test.txt».

#!/бин/баш

эхо 'Копирование файла из одного места в другое'.

# Подождите 2 секунды

спать 2

# Скопируйте файл в место назначения

кот test.txt | пв $ ( статистика % с test.txt ) > / дом / понимание / температура / test.txt

эхо «Файл скопирован».

После завершения выполнения скрипта отображается следующий вывод:

Пример 3: реализация индикатора выполнения с помощью команды «Диалог»

Другой способ реализации индикатора выполнения в Bash — использование команды «диалог». Эту команду можно использовать для отображения хорошо выглядящего индикатора выполнения в терминале. С помощью этого индикатора выполнения можно отображать многие типы виджетов. Задачей индикатора выполнения, отображаемой этой командой, можно управлять с помощью сценария Bash. Этот индикатор выполнения не установлен в системе по умолчанию. Выполните следующую команду, чтобы установить этот индикатор выполнения в системе:

$ судо подходящий установить диалог

Создайте файл Bash со следующим сценарием, который отображает индикатор выполнения с помощью команды «диалог». Задача копирования файла «/etc/passwd» в папку «/home/fahmida/tempdir» отображается с помощью индикатора выполнения. Индикатор выполнения разделен на пять частей; каждая часть отображается через 2 секунды. Параметр –title используется в команде «dialog» для отображения заголовка индикатора выполнения. Параметр –gauge используется в команде «диалог» для отображения индикатора выполнения высотой 10 строк и шириной 100 символов. Над индикатором выполнения отображается сообщение «Ожидание завершения задачи».

#!/бин/баш

#Инициализировать счетчик

current_pos '=' 0

(

#Определяем бесконечный цикл

для ( ( ;; ) )

делать

кот <<ЭОФ

разделитель

$current_pos

#Показать текущее значение счетчика

cp /etc/passwd в /home/fahmida/tempdir ($current_pos%):

разделитель

EOF


#Увеличить счетчик на 20

( ( текущая_позиция+= двадцать ) )

# Выход из цикла, когда значение счетчика больше 100

[ $current_pos -gt 100 ] && перерыв

# Подождать 2 секунды после каждого приращения

спать 2

сделанный

) | диалог --заголовок 'Копирование файла...' --измерять «Ожидание выполнения задачи» 10 100 0


Следующий вывод появляется после 6 секунд выполнения скрипта:


Следующий вывод появляется после 10 секунд выполнения скрипта:


Заключение

В этом руководстве показаны различные способы разработки индикатора выполнения с использованием сценария Bash, чтобы помочь пользователям Bash использовать индикатор выполнения в своей программе.