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 pvKi 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/bashvisszhang '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édHozzon 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.