Направите траку напретка у Басху

Napravite Traku Napretka U Bashu



Када је потребно да се чека одређено време током извршавања скрипте, боље је да направите траку напретка да обавестите корисника да сачека неко време. Трака напретка се може креирати коришћењем једноставне Басх скрипте или коришћењем неких уграђених Линук команди као што су „цв“, „диалог“ итд. Методе прављења трака напретка помоћу Басх скрипте су приказане у овом водичу.

Различити примери прављења траке напретка у Басху

Различити начини имплементације траке напретка у Басх-у су приказани у овом делу упутства.

Пример 1: Имплементирајте једноставну траку напретка без икакве команде

Направите Басх датотеку са следећом скриптом која приказује траку напретка користећи знак „#“ и команду „слееп“. Команда „принтф“ се овде користи за приказ траке напретка. Трака напретка је подељена на четири дела. 25% се приказује након 1 секунде. 50% се приказује након 3 секунде. 75% се приказује након 2 секунде. 100% се приказује након 1 секунде.







#!/бин/басх

принтф ' Сачекајте да завршите задатак... '

#Сачекајте 1 секунду

спавати 1

#Одштампајте први део траке напретка

принтф „[##### ] 25%% завршено. '

#Сачекајте 3 секунде

спавати 3

#Одштампајте други део траке напретка

принтф „[########### ] 50%% завршено. '

#Сачекајте 2 секунде

спавати 2

#Одштампајте трећи део траке напретка

принтф „[############### ] 75%% завршено. '

#Сачекајте 1 секунду

спавати 1

#Одштампајте последњу траку напретка

принтф „[####################] 100%% завршено. '

принтф ' Задатак завршен. '

.



Следећи излаз се појављује након 1 секунде од извршавања скрипте:







Следећи излаз се појављује након 7 секунди од извршавања скрипте:



Пример 2: Имплементирајте траку напретка користећи команду „Пв“.

Пун облик команде „пв“ је „прегледник цеви“. Користи се за праћење напретка података који се пропуштају кроз цев и за приказ траке напретка на основу величине података. Ова команда није подразумевано инсталирана у систему. Покрените следећу команду да бисте инсталирали команду „пв“ пре него што увежбате скрипту овог примера:

$ судо погодан инсталирај пв

Морате да изаберете датотеку велике величине која се копира са једне локације на другу локацију. Направите Басх датотеку са следећом скриптом која копира датотеку „тест.ткт“ са тренутне локације на локацију „/хоме/фахмида/темп/“. Команда „пв“ се овде користи за приказ траке напретка. Трака напретка се приказује на основу величине датотеке „тест.ткт“.

#!/бин/басх

одјек „Копирање датотеке са једне локације на другу локацију.“

#Сачекајте 2 секунде

спавати 2

#Копирај датотеку на одредиште

мачка тест.ткт | пв $ ( стат % с тест.ткт ) > / кућа / разумевање / темп / тест.ткт

одјек „Датотека је копирана.“

Следећи излаз се приказује након завршетка извршавања скрипте:

Пример 3: Имплементирајте траку напретка помоћу команде „Диалог“.

Други начин имплементације траке напретка у Басху је коришћење команде „дијалог“. Ова команда се може користити за приказ добро изгледа траке напретка у терминалу. Многи типови виџета се могу приказати помоћу ове траке напретка. Задатак траке напретка који се приказује овом командом може се контролисати помоћу Басх скрипте. Ова трака напретка није подразумевано инсталирана у систему. Покрените следећу команду да бисте инсталирали ову траку напретка у систему:

$ судо погодан инсталирај дијалог

Направите Басх датотеку са следећом скриптом која приказује траку напретка помоћу команде „дијалог“. Задатак копирања датотеке “/етц/пассвд” на локацију “/хоме/фахмида/темпдир” приказује се помоћу траке напретка. Трака напретка је подељена на пет делова; сваки део се приказује након 2 секунде. Опција –титле се користи у команди „дијалог“ за приказ наслова траке напретка. Опција –гауге се користи у команди „дијалог“ за приказ траке напретка са висином од 10 редова и ширином од 100 знакова. Порука „Чека се завршетак задатка“ се приказује изнад траке напретка.

#!/бин/басх

#Иницијализујте бројач

цуррент_пос = 0

(

#Дефинишите бесконачну петљу

за ( ( ;; ) )

урадите

мачка <<ЕОФ

граничник

$цуррент_пос

#Прикажи тренутну вредност бројача

цп /етц/пассвд у /хоме/фахмида/темпдир ( $цуррент_пос%):

граничник

ЕОФ


#Повећајте бројач за 20

( ( тренутни_пос+= двадесет ) )

#Заврши из петље када је вредност бројача већа од 100

[ $цуррент_пос -гт 100 ] && пауза

#Сачекајте 2 секунде након сваког повећања

спавати 2

Готово

) | дијалог --титле „Копирање датотеке...“ --колосек „Чека се да се заврши задатак“ 10 100 0


Следећи излаз се појављује након 6 секунди од извршавања скрипте:


Следећи излаз се појављује након 10 секунди од извршавања скрипте:


Закључак

Различити начини развоја траке напретка помоћу Басх скрипте приказани су у овом водичу како би помогли Басх корисницима да користе траку напретка у свом програму.