Įvairūs „Bash“ pažangos juostos kūrimo pavyzdžiai
Įvairūs „Bash“ eigos juostos diegimo būdai parodyti šioje pamokos dalyje.
1 pavyzdys: Įdiekite paprastą eigos juostą be jokių komandų
Sukurkite „Bash“ failą naudodami šį scenarijų, kuriame rodoma eigos juosta, naudojant simbolį „#“ ir komandą „miegas“. Komanda 'printf' čia naudojama pažangos juostai rodyti. Eigos juosta yra padalinta į keturias dalis. 25% rodomi po 1 sekundės. 50% rodoma po 3 sekundžių. 75% rodoma po 2 sekundžių. 100% rodoma po 1 sekundės.
#!/bin/bash
printf “ \n Palaukite, kol baigsite užduotį... \n \n “
#Palauk 1 sekundę
miegoti 1
#Atspausdinkite pirmąją eigos juostos dalį
printf „[##### ] 25 %% baigta. \r “
#Palauk 3 sekundes
miegoti 3
#Atspausdinkite antrąją eigos juostos dalį
printf „[########## ] 50 %% atlikta. \r “
#Palauk 2 sekundes
miegoti 2
#Atspausdinkite trečiąją eigos juostos dalį
printf „[############### ] Baigta 75 % %. \r “
#Palauk 1 sekundę
miegoti 1
#Atspausdinkite paskutinę eigos juostos dalį
printf '[####################] 100 %% atlikta. \r “
printf “ \n \n Užduotis atlikta. \n \n “
.
Ši išvestis pasirodo po 1 sekundės po scenarijaus vykdymo:
Ši išvestis pasirodo po 7 sekundžių po scenarijaus vykdymo:
2 pavyzdys: Įdiekite eigos juostą naudodami „Pv“ komandą
Visa „pv“ komandos forma yra „pipe viewer“. Jis naudojamas stebėti duomenų, kurie perduodami vamzdžiu, eigą ir rodyti eigos juostą pagal duomenų dydį. Ši komanda pagal numatytuosius nustatymus sistemoje neįdiegta. Prieš atlikdami šio pavyzdžio scenarijų, paleiskite šią komandą, kad įdiegtumėte komandą „pv“:
$ sudo apt diegti pvTurite pasirinkti didelio dydžio failą, kuris būtų nukopijuotas iš vienos vietos į kitą. Sukurkite „Bash“ failą naudodami šį scenarijų, kuris nukopijuoja „test.txt“ failą iš dabartinės vietos į „/home/fahmida/temp/“. Komanda „pv“ čia naudojama pažangos juostai rodyti. Pažangos juosta rodoma pagal „test.txt“ failo dydį.
#!/bin/bashaidas „Failo kopijavimas iš vienos vietos į kitą“.
#Palauk 2 sekundes
miegoti 2
# Nukopijuokite failą į paskirties vietą
katė testas.txt | pv -s $ ( stat -c % s testas.txt ) > / namai / supratimas / temp / testas.txt
aidas 'Failas buvo nukopijuotas.'
Baigus vykdyti scenarijų, rodoma ši išvestis:
3 pavyzdys: Įdiekite eigos juostą naudodami „Dialog“ komandą
Kitas „Bash“ eigos juostos diegimo būdas yra „dialogo“ komandos naudojimas. Ši komanda gali būti naudojama norint parodyti gražiai atrodančią eigos juostą terminale. Daugelio tipų valdikliai gali būti rodomi naudojant šią eigos juostą. Šios komandos rodomos eigos juostos užduotį galima valdyti naudojant „Bash“ scenarijų. Ši eigos juosta pagal numatytuosius nustatymus sistemoje neįdiegta. Vykdykite šią komandą, kad įdiegtumėte šią eigos juostą sistemoje:
$ sudo apt diegti dialogasSukurkite „Bash“ failą naudodami šį scenarijų, kuriame rodoma eigos juosta, naudojant komandą „dialogas“. Užduotis nukopijuoti failą „/etc/passwd“ į „/home/fahmida/tempdir“ vietą rodoma naudojant eigos juostą. Eigos juosta padalinta į penkias dalis; kiekviena dalis rodoma po 2 sekundžių. Parinktis –title naudojama komandoje „dialogas“, kad būtų rodomas eigos juostos pavadinimas. Parinktis –gauge naudojama komandoje „dialogas“, kad būtų rodoma 10 eilučių aukščio ir 100 simbolių pločio eigos juosta. Virš eigos juostos rodomas pranešimas „Laukiama užduoties užbaigimo“.
#!/bin/bash#Inicijuokite skaitiklį
dabartinė_poz = 0
(
#Apibrėžkite begalinę kilpą
dėl ( ( ;; ) )
daryti
katė <
skyriklis
$current_pos
#Rodyti esamą skaitiklio vertę
cp /etc/passwd į /home/fahmida/tempdir ($current_pos%):
skyriklis
EOF
#Padidinkite skaitiklį 20
( ( dabartinė_pozicija+= dvidešimt ) )
# Nutraukite kilpą, kai skaitiklio reikšmė yra didesnė nei 100
[ $current_pos -gt 100 ] && pertrauka
# Po kiekvieno padidinimo palaukite 2 sekundes
miegoti 2
padaryta
) | dialogas --pavadinimas 'Kopijuojamas failas...' -- matuoklis 'Laukiama, kol baigsite užduotį' 10 100 0
Ši išvestis pasirodo po 6 sekundžių po scenarijaus vykdymo:
Ši išvestis pasirodo po 10 sekundžių po scenarijaus vykdymo:
Išvada
Įvairūs būdai, kaip sukurti eigos juostą naudojant „Bash“ scenarijų, parodyta šioje pamokoje, kad „Bash“ naudotojai galėtų naudoti savo programos eigos juostą.