10 šaunių ir nuostabių „Bash Loop“ pavyzdžių

10 Sauniu Ir Nuostabiu Bash Loop Pavyzdziu



Programavimo kalboje daugiausia yra trijų tipų kilpos (for, while ir iki). Visi trys kilpų tipai yra svarbūs skirtingais būdais. Nėra daug skirtumų tarp while ir till kilpų, tačiau for loop veikia visiškai kitaip nei šios dvi. Štai kodėl galite naudoti šias kilpas kurdami interaktyvius scenarijus kaip bash vartotojas.

Taigi, mokantis paprastų pavyzdžių, galite pagerinti scenarijų kūrimo įgūdžius. Taigi į šią mokymo programą įtrauksime 10 puikių ir nuostabių bash ciklo pavyzdžių, kuriuos galite pabandyti pagerinti savo scenarijų rašymo įgūdžius.







10 šaunių ir nuostabių „Bash Loop“ pavyzdžių

Šiame skyriuje paaiškinsime įvairius pavyzdžius ir būdus, kuriuos taikėme cikle.



Seq komanda su kilpa Bash

Norėdami sukurti skaičių seką, galite naudoti komandą seq cikle for. Pavyzdžiui, turite bash scenarijų „File.sh“, kuriame yra šis kodas:



#!/bin/bash
dėl A in $ ( sek 5 du 25 )
daryti
aidas 'skaičiai $A yra'
padaryta





Įvykdę scenarijų terminale gausite tokį rezultatą:

. / failas.sh




Pervardykite failus naudodami kilpą

Naudodami bash scenarijų galite naudoti for kilpas, kad pervardytumėte kelis failus. Pavyzdžiui, turite kelis .txt failus ir norite pridėti dabartinę datą su pavadinimu. Taigi čia yra scenarijaus pavyzdys, kurį galite naudoti:

#!/bin/bash
dėl A in $ ( ls * .txt ) ; daryti
mv $A ( bazinis vardas $A .txt ) _$ ( data % d % m % ) .txt
padaryta


Dabar galite paleisti scenarijų ir jis pakeis visų .txt failų pavadinimus pridėdamas dabartinę datą:

. / Mano failas.sh



Panašiai galite pakeisti failo plėtinius naudodami vieną scenarijų. Taigi pakeiskime plėtinį .txt į .sh naudodami šį scenarijų:

#!/bin/bash
dėl failą in * .txt; daryti
mv -- $failas „{failas%.txt}.sh“
padaryta

Vykdę scenarijų terminale, gausite .sh, o ne .txt failus:

. / Mano failas.sh


Infinite For Loop Bash

Kai cikle neapibrėžta jokia užbaigimo sąlyga, ji vadinama begaliniu ciklu. Šiame „Bash“ ciklo pavyzdyje mes pažvelgsime į begalinę „bash“ kilpą. Šis begalinis ciklas yra apibrėžtas dvigubu kabliataškiu ( ; ; ) ir joje nėra jokių pradinių, veiksmų ar pabaigos dalių.

Toliau pateiktas scenarijus tęsis tol, kol paspausite Ctrl+C arba kaip įvestį įvesite „quit“. Šis scenarijus atspausdins kiekvieną skaičių nuo 10 iki 50, kuris pateikiamas kaip įvestis. Priešingu atveju bus išspausdinta „numeris nepatenka į diapazoną“.

#!/bin/bash
#begalinis ciklas
dėl ( ( ; ; ) )
daryti
aidas 'Įveskite skaičių nuo 10 iki 50'
skaityti n
jeigu [ $n == 'mesti' ]
tada
aidas 'nutraukta'
išeiti 0
būti
jeigu ( ( $n < 10 || $n > penkiasdešimt ) )
tada
aidas „Numeris nepatenka į diapazoną“
Kitas
aidas 'Skaičius yra $n
būti
padaryta

Aukščiau pateiktame scenarijuje pateikėme 45 ir 23 galiojančias įvestis. Po to kaip įvestį išspausdiname 2, kuri išvestyje nurodo, kad „skaičius nepatenka į diapazoną“. Po to, norėdami uždaryti scenarijų, kaip įvestį įvedame quit. Čia taip pat galite paspausti Ctrl+C, kad išeitumėte iš begalinio ciklo.

Trys išraiškos kilpa Bash

Iš trijų išraiškų kilpos pavadinimo žinoma, kad ją sudaro trys išraiškos, dar vadinamos valdymo išraiškomis. Pirmoji išraiška (EXP1) yra iniciatorius, antroji išraiška (EXP2) yra ciklo testas arba sąlyga, o trečioji išraiška (EXP3) yra skaičiavimo išraiška / veiksmas. Paleiskite trijų išraiškų kilpą bash:

#!/bin/bash
dėl ( ( n = 5 ; n > = 1 ; n-- ) )
daryti
aidas 'Knyga $n
padaryta

Vykdydami aukščiau pateiktą scenarijų gausite tokią išvestį.

Kilpa su keliomis sąlygomis

Toliau pateiktame bash ciklo pavyzdyje naudojome iki ciklo su keliomis sąlygomis. Šiame scenarijuje mes paėmėme „m“ ir „n“ – du kintamuosius, kurių reikšmės yra atitinkamai 20 ir 10, ir išlaikėme 15 ribą. Čia mes įtraukėme „m“ ir „n“ sąlygas į kilpą, kuriame ciklas veiks tol, kol „m“ reikšmė bus mažesnė už ribą, o „n“ bus didesnė už ribą.

#!/bin/bash
riba = penkiolika
m = dvidešimt
n = 10
iki [ [ mln. USD -lt $ limitas || $n -gt $ limitas ] ] ;
daryti
aidas 'Jei M = mln. USD tada N = $n
( ( m-- ) )
( ( n++ ) )
padaryta

Matote, kad paleidus aukščiau pateiktą scenarijų bus paleistas tol, kol „m“ ir „n“ reikšmės pasieks tą patį lygį.

Skaityti failą Bash

Bash failo turinį galite skaityti keliais būdais. Šiame bash ciklo pavyzdyje failo turinį skaitysime per failo pavadinimą. Mes galime naudoti šį scenarijų, norėdami skaityti failą bash:

#!/bin/bash
aidas 'Įvesto failo turinys yra:'
kol
skaityti linija
daryti
aidas $ eilutė
padaryta < ~ Dokumentai / Linuxhint.txt

Paleidę aukščiau pateiktą scenarijų, galite perskaityti visą įvesto failo turinį.

Rašymas į failą

Galite naudoti scenarijaus kilpas, norėdami redaguoti failą tiesiai iš terminalo. Pavyzdžiui, jei turime txt failą „Example.txt“ ir norime pridėti tam tikros informacijos, galime naudoti šį scenarijų:


Jei paleisite aukščiau pateiktą scenarijų, jis paprašys įvesti išsamią informaciją:


Įvedę išsamią informaciją, paspauskite CTRL + D, kad išsaugotumėte failą, ir CTRL + Z, kad sėkmingai užbaigtumėte procesą.

Pertraukite ir tęskite pareiškimo kilpą Bash

Bash kalboje galite tęsti savo ciklo teiginį po pertraukos. Pertraukos sakinys išeina iš ciklo ir tada perduoda valdymą kitam duotam sakiniui. Antroji iteracija prasideda po to, kai dabartinė iteracija praleidžiama su tuo pačiu teiginiu tęsti.

#!/bin/bash
ant vieno = 16
iki klaidinga
daryti
( ( ant vieno-- ) )
jeigu [ [ $num -ekv 13 ] ]
tada
Tęsti
elifas [ [ $num - 4 ] ]
tada
pertrauka
būti
aidas „LinuxHint= $num
padaryta

Toliau pateiktame bash scenarijuje matote, kad kai „skaičius“ yra lygus 13, jis praleidžia likusį ciklo turinį ir pereina į kitą iteraciją. Panašiai kilpa nutrūks, kai „skaičius“ yra mažesnis arba lygus 4.


Aukščiau pateiktas scenarijus rodo, kad ciklas prasideda 15, nutrūksta 13 ir tęsiasi iki 5.

Vidurkio apskaičiavimas Bash

Vidurkį galite apskaičiuoti paleisdami scenarijų „bash“ cikle. Tokiu būdu vartotojas gali apskaičiuoti skaičių vidurkį apibrėžtame diapazone. Šis scenarijus apskaičiuoja vartotojo pateiktos įvesties vidurkį.

#!/bin/bash
ženklų = '0'
VIDUTINIS = '0'
SUMA = '500'
ANT VIENO = '5'
kol tiesa ; daryti
aidas -n „Įveskite savo pažymius arba paspauskite „q“, kad nutrauktumėte“ ; skaityti ženklai;
jeigu ( ( $ markių < '0' ) ) || ( ( $ markių > '100' ) ) ; tada
aidas 'Prašome įvesti savo pažymius'
elifas [ $ markių == 'q' ] ; tada
aidas 'Vidutiniai pažymiai yra: VIDUTINIS USD %'
pertrauka
Kitas
SUMA =$ [ $SUM + $ markių ]
ANT VIENO =$ [ $NUM + 1 ]
VIDUTINIS =$ [ $SUM / $NUM ]
būti
padaryta

Jei įvestis nepatenka į diapazoną, išspausdinamas pranešimas „Prašome įvesti savo ženklus“. Kai vartotojas, įvedęs visus ženklus, paspaudžia „q“, scenarijus apskaičiuoja apytikslį visų įvestų skaičių vidurkį.

Kai bus paleistas aukščiau pateiktas scenarijus, jūsų išvestis bus maždaug tokia.

Perskaitykite „Bash“ komandų eilutės argumentus

Bash galite skaityti atskirus komandinės eilutės argumentus naudodami kilpas. Scenarijus išspausdina suformatuotas argumentų reikšmes. Komandinės eilutės argumentus paleidžiame bash naudodami ciklą kitame scenarijuje. Tai atlikę, naudodami vieną komandą išspausdinsite vertę, perduodančią galiojančią argumento vertės parinktį.

#!/bin/bash
kol getopts N:F:M: OPT
daryti
atveju ${OPT}
in
N ) vardas = ${OPTARG} ;;
F ) tėvo vardas = ${OPTARG} ;;
M ) motinos vardas = ${OPTARG} ;;
* ) aidas 'Neteisingas'
išeiti 1 ;;
esac
padaryta
printf 'Vardas: $vardas \n Tėvo vardas: $tėvo vardas \n Motinos vardas: $motinos vardas \n

Taigi galite atspausdinti suformatuotas argumentų reikšmes į išvestį paleisdami aukščiau pateiktą scenarijų bash.

Apvyniojimas

Taigi tai buvo trumpa informacija apie 10 puikių ir nuostabių bash ciklo pavyzdžių, kuriuos galite išmokti. Norėdami lengvai sukurti interaktyvų scenarijų, naudojome įvairių tipų kilpas. Be to, mes taip pat paaiškinome pirmiau pateiktuose pavyzdžiuose naudotus pagrindinius metodus. Jei turite išsamios informacijos apie bash kilpas, apsilankykite oficialioje svetainėje ir sužinokite daugiau.