Sukurkite „Bash“ eigos juostą

Sukurkite Bash Eigos Juosta



Kai scenarijaus vykdymo metu reikia laukti fiksuotą laiką, geriau sukurti eigos juostą, kad informuotų vartotoją, kad jis šiek tiek palauktų. Eigos juostą galima sukurti naudojant paprastą „Bash“ scenarijų arba kai kurias integruotas „Linux“ komandas, tokias kaip „cv“, „dialog“ ir t. t. Šiame vadove parodyta, kaip sukurti eigos juostas naudojant „Bash“ scenarijų.

Į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 pv

Turite 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/bash

aidas „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 dialogas

Sukurkite „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ą.