Rôzne príklady vytvorenia ukazovateľa pokroku v Bash
Rôzne spôsoby implementácie indikátora priebehu v Bash sú uvedené v tejto časti tutoriálu.
Príklad 1: Implementujte jednoduchý ukazovateľ priebehu bez akéhokoľvek príkazu
Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý zobrazuje indikátor priebehu pomocou znaku „#“ a príkazu „sleep“. Príkaz „printf“ sa tu používa na zobrazenie indikátora priebehu. Ukazovateľ priebehu je rozdelený na štyri časti. Po 1 sekunde sa zobrazí 25 %. 50% sa zobrazí po 3 sekundách. Po 2 sekundách sa zobrazí 75 %. Po 1 sekunde sa zobrazí 100 %.
#!/bin/bash
printf ' \n Počkajte na dokončenie úlohy... \n \n '
#Počkajte 1 sekundu
spať 1
#Vytlačte prvú časť indikátora priebehu
printf '[##### ] Dokončené na 25 %%. \r '
#Počkajte 3 sekundy
spať 3
#Vytlačte druhú časť indikátora priebehu
printf '[########## ] Dokončené na 50 % %. \r '
#Počkajte 2 sekundy
spať 2
#Vytlačte tretiu časť indikátora priebehu
printf '[############### ] Dokončené na 75 % %. \r '
#Počkajte 1 sekundu
spať 1
#Vytlačte poslednú časť indikátora priebehu
printf '[####################] Dokončené na 100 % %. \r '
printf ' \n \n Úloha dokončená. \n \n '
.
Nasledujúci výstup sa zobrazí po 1 sekunde vykonania skriptu:
Nasledujúci výstup sa zobrazí po 7 sekundách vykonania skriptu:
Príklad 2: Implementujte indikátor priebehu pomocou príkazu „Pv“.
Úplná forma príkazu „pv“ je „prehliadač potrubí“. Používa sa na monitorovanie priebehu údajov, ktoré prechádzajú potrubím, a zobrazenie indikátora priebehu na základe veľkosti údajov. Tento príkaz nie je v systéme štandardne nainštalovaný. Pred precvičovaním skriptu z tohto príkladu spustite nasledujúci príkaz na inštaláciu príkazu „pv“:
$ sudo apt Inštalácia pvMusíte vybrať súbor veľkej veľkosti, ktorý sa skopíruje z jedného miesta na druhé. Vytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý skopíruje súbor „test.txt“ z aktuálneho umiestnenia do umiestnenia „/home/fahmida/temp/“. Príkaz „pv“ sa tu používa na zobrazenie indikátora priebehu. Lišta priebehu sa zobrazuje na základe veľkosti súboru „test.txt“.
#!/bin/bashozvena 'Kopírovanie súboru z jedného miesta na druhé.'
#Počkajte 2 sekundy
spať 2
# Skopírujte súbor do cieľa
kat test.txt | pv -s $ ( stat -c % s test.txt ) > / Domov / pochopenie / tepl / test.txt
ozvena 'Súbor bol skopírovaný.'
Po dokončení vykonania skriptu sa zobrazí nasledujúci výstup:
Príklad 3: Implementujte indikátor priebehu pomocou príkazu „Dialog“.
Ďalším spôsobom implementácie indikátora priebehu v Bash je použitie príkazu „dialog“. Tento príkaz možno použiť na zobrazenie dobre vyzerajúceho indikátora priebehu v termináli. Pomocou tohto indikátora priebehu je možné zobraziť mnoho typov miniaplikácií. Úloha indikátora priebehu, ktorý sa zobrazuje týmto príkazom, môže byť riadená skriptom Bash. Tento indikátor priebehu nie je v systéme štandardne nainštalovaný. Ak chcete nainštalovať tento indikátor priebehu do systému, spustite nasledujúci príkaz:
$ sudo apt Inštalácia dialógVytvorte súbor Bash pomocou nasledujúceho skriptu, ktorý zobrazí indikátor priebehu pomocou príkazu „dialog“. Úloha skopírovania súboru „/etc/passwd“ do umiestnenia „/home/fahmida/tempdir“ sa zobrazí pomocou indikátora priebehu. Ukazovateľ priebehu je rozdelený na päť častí; každá časť sa zobrazí po 2 sekundách. Voľba –title sa používa v príkaze „dialog“ na zobrazenie názvu indikátora priebehu. Voľba –gauge sa používa v príkaze „dialog“ na zobrazenie indikátora priebehu s výškou 10 riadkov a šírkou 100 znakov. Nad indikátorom priebehu sa zobrazí správa „Čaká sa na dokončenie úlohy“.
#!/bin/bash#Inicializujte počítadlo
aktuálny_poz = 0
(
#Definujte nekonečnú slučku
pre ( ( ;; ) )
robiť
kat <
oddeľovač
$current_pos
#Zobrazte aktuálnu hodnotu počítadla
cp /etc/passwd do /home/fahmida/tempdir ( $current_pos%):
oddeľovač
EOF
#Zvýšte počítadlo o 20
( ( aktuálna_pozícia+= dvadsať ) )
#Ukončite cyklus, keď je hodnota počítadla vyššia ako 100
[ $current_pos -gt 100 ] && prestávka
#Po každom prírastku počkajte 2 sekundy
spať 2
hotový
) | dialóg --názov 'Kopíruje sa súbor...' -- meradlo 'Čaká sa na dokončenie úlohy' 10 100 0
Nasledujúci výstup sa zobrazí po 6 sekundách vykonania skriptu:
Nasledujúci výstup sa zobrazí po 10 sekundách vykonania skriptu:
Záver
Rôzne spôsoby vývoja indikátora priebehu pomocou skriptu Bash sú uvedené v tomto návode, aby pomohli používateľom systému Bash používať indikátor priebehu v ich programe.