Hozd létre a folyamatjelző sávot a Bashban

Hozd Letre A Folyamatjelzo Savot A Bashban



Ha egy parancsfájl végrehajtása során meghatározott ideig kell várni, jobb, ha létrehoz egy folyamatjelző sávot, amely tájékoztatja a felhasználót, hogy várjon egy ideig. A folyamatjelző sáv létrehozható egy egyszerű Bash-szkript vagy néhány beépített Linux-parancs, például „cv”, „dialog” stb. használatával. Ebben az oktatóanyagban bemutatjuk a folyamatjelző sávok Bash-szkript segítségével történő létrehozásának módszereit.

Különböző példák a folyamatjelző sáv létrehozására a Bashban

Az oktatóanyag ezen része bemutatja a folyamatjelző sáv Bash-ban való megvalósításának különböző módjait.

1. példa: Valósítson meg egy egyszerű folyamatsávot parancs nélkül

Hozzon létre egy Bash-fájlt a következő szkripttel, amely egy folyamatjelző sávot jelenít meg a „#” karakter és a „sleep” parancs használatával. A „printf” parancs itt a folyamatjelző sáv megjelenítésére szolgál. A folyamatjelző négy részre oszlik. A 25% 1 másodperc múlva jelenik meg. Az 50% 3 másodperc múlva jelenik meg. A 75% 2 másodperc múlva jelenik meg. A 100% 1 másodperc múlva jelenik meg.







#!/bin/bash

printf ' \n Várja meg a feladat befejezését... \n \n '

#Várjon 1 másodpercet

alvás 1

#Nyomtassa ki a folyamatjelző sáv első részét

printf '[##### ] 25%% kész. \r '

#Várjon 3 másodpercet

alvás 3

#Nyomtassa ki a folyamatjelző sáv második részét

printf '[########## ] 50%% kész. \r '

#Várjon 2 másodpercet

alvás 2

#Nyomtassa ki a folyamatjelző sáv harmadik részét

printf '[############### ] 75%% kész. \r '

#Várjon 1 másodpercet

alvás 1

#Nyomtassa ki a folyamatjelző sáv utolsó részét

printf '[####################] 100%% kész. \r '

printf ' \n \n Feladat elvégezve. \n \n '

.



A következő kimenet jelenik meg a szkript végrehajtása után 1 másodperccel:







A következő kimenet jelenik meg 7 másodperccel a szkript végrehajtása után:



2. példa: Valósítsa meg a folyamatjelző sávot a „Pv” paranccsal

A „pv” parancs teljes formája a „pipe viewer”. A csövön áthaladó adatok előrehaladásának figyelésére és az adatok mérete alapján a folyamatjelző sáv megjelenítésére szolgál. Ez a parancs alapértelmezés szerint nincs telepítve a rendszerben. A példa szkriptjének gyakorlása előtt futtassa a következő parancsot a „pv” parancs telepítéséhez:

$ sudo alkalmas telepítés pv

Ki kell választania egy nagy méretű fájlt, amelyet egyik helyről a másikra másol. Hozzon létre egy Bash-fájlt a következő szkripttel, amely a „test.txt” fájlt az aktuális helyről a „/home/fahmida/temp/” helyre másolja. A „pv” parancs itt a folyamatjelző sáv megjelenítésére szolgál. A folyamatjelző sáv a „test.txt” fájl mérete alapján jelenik meg.

#!/bin/bash

visszhang 'Fájl másolása egyik helyről egy másik helyre.'

#Várjon 2 másodpercet

alvás 2

#Másolja a fájlt a célhelyre

macska teszt.txt | pv -s $ ( statisztika -c % s teszt.txt ) > / itthon / megértés / hőm / teszt.txt

visszhang 'A fájl átmásolva.'

A szkript végrehajtásának befejezése után a következő kimenet jelenik meg:

3. példa: A folyamatjelző sáv megvalósítása a „Dialog” paranccsal

A folyamatjelző sáv egy másik módja a Bash-ban a „dialog” parancs használata. Ezzel a paranccsal jó megjelenésű folyamatjelző sáv jeleníthető meg a terminálon. Sokféle widget jeleníthető meg ezzel a folyamatjelző sávval. A parancs által megjelenített folyamatjelző sáv feladata a Bash szkripttel vezérelhető. Ez a folyamatjelző sáv alapértelmezés szerint nincs telepítve a rendszerben. Futtassa a következő parancsot a folyamatjelző sáv telepítéséhez a rendszerben:

$ sudo alkalmas telepítés párbeszéd

Hozzon létre egy Bash-fájlt a következő szkripttel, amely egy folyamatjelző sávot jelenít meg a „dialog” paranccsal. Az „/etc/passwd” fájl „/home/fahmida/tempdir” helyre másolásának feladatát egy folyamatjelző sáv jelzi. A folyamatjelző sáv öt részre oszlik; minden rész 2 másodperc múlva megjelenik. A –title opció a „dialog” parancsban a folyamatjelző sáv címének megjelenítésére szolgál. A –gauge opció a „dialog” parancsban a folyamatjelző sáv megjelenítésére szolgál 10 soros magassággal és 100 karakter szélességgel. A „Várakozás a feladat befejezésére” üzenet jelenik meg a folyamatjelző sáv felett.

#!/bin/bash

#Inicializálja a számlálót

aktuális_poz = 0

(

#Határozzon meg egy végtelen hurkot

számára ( ( ;; ) )

csináld

macska <
határoló

$current_pos

#Az aktuális számlálóérték megjelenítése

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

határoló

EOF


#Növelje a számlálót 20-al

( ( aktuális_pozíció+= húsz ) )

#Ha a számláló értéke meghaladja a 100-at, fejezze be a hurkot

[ $current_pos -gt 100 ] && szünet

#Várjon 2 másodpercet minden lépés után

alvás 2

Kész

) | párbeszéd --cím 'Fájl másolása...' --nyomtáv 'Várakozás a feladat elvégzésére' 10 100 0


A következő kimenet jelenik meg 6 másodperccel a szkript végrehajtása után:


A következő kimenet jelenik meg 10 másodperccel a szkript végrehajtása után:


Következtetés

Ebben az oktatóanyagban bemutatjuk a folyamatjelző sáv Bash-szkript használatával történő fejlesztésének különböző módjait, hogy segítsenek a Bash-felhasználóknak használni a folyamatjelző sávot a programjukon.