10 kul in osupljivih primerov Bash Loop

10 Kul In Osupljivih Primerov Bash Loop



V programskem jeziku obstajajo predvsem tri vrste zank (za, medtem ko in dokler). Vse tri vrste zank so pomembne na različne načine. Med zankama medtem in dokler ni velike razlike, vendar zanka for deluje precej drugače od teh dveh. Zato lahko uporabite te zanke za ustvarjanje interaktivnih skriptov kot uporabnik bash.

Tako vam lahko učenje bash primerov pomaga izboljšati vaše sposobnosti pri ustvarjanju skriptov. Zato bomo v to vadnico vključili 10 kul in osupljivih primerov bash zank, s katerimi lahko poskusite izboljšati svoje skriptne sposobnosti.







10 kul in osupljivih primerov Bash Loop

V tem razdelku bomo razložili različne primere in pristope, ki smo jih uporabili v zankah.



Ukaz Seq z zanko v Bashu

Za ustvarjanje zaporedja števil lahko uporabite ukaz seq v zanki for. Na primer, imate bash skript »File.sh«, ki vsebuje naslednjo kodo:



#!/bin/bash
za A v $ ( nasl 5 dva 25 )
narediti
odmev 'številke $A so'
Končano





Po izvedbi skripta v terminalu boste dobili naslednji rezultat:

. / datoteka.sh




Preimenujte datoteke z uporabo Loop

Z uporabo skripta bash lahko uporabite zanke for za preimenovanje več datotek. Imate na primer več datotek .txt in želite z imenom dodati trenutni datum. Tukaj je primer skripta, ki ga lahko uporabite:

#!/bin/bash
za A v $ ( ls * .txt ) ; narediti
mv $A ( osnovno ime $A .txt ) _$ ( datum % d % m % ) .txt
Končano


Zdaj lahko zaženete skript, ki bo spremenil ime vseh datotek .txt z dodajanjem trenutnega datuma:

. / MyFile.sh



Podobno lahko spremenite pripone datoteke z enim skriptom. Torej spremenimo končnico .txt v .sh z naslednjim skriptom:

#!/bin/bash
za mapa v * .txt; narediti
mv -- ' $datoteka ' '{file%.txt}.sh'
Končano

Po izvedbi skripta v terminalu boste namesto datotek .txt prejeli datoteke .sh:

. / MyFile.sh


Neskončna zanka For v Bashu

Če v zanki ni definiran noben zaključni pogoj, se imenuje neskončna zanka. V tem primeru zanke Bash si bomo ogledali neskončno zanko for v bashu. Naslednja neskončna zanka for je definirana z dvojnim podpičjem ( ; ; ) in ne vsebuje začetnih, akcijskih ali končnih delov.

Spodnji skript se bo nadaljeval, dokler ne pritisnete Ctrl+C ali vnesete »quit« kot vnos. Ta skript bo natisnil vsako število od 10 do 50, ki je podano kot vnos. V nasprotnem primeru bo natisnjeno »številka je izven obsega«.

#!/bin/bash
#neskončna zanka
za ( ( ; ; ) )
narediti
odmev 'Vnesite številko med 10 in 50'
prebrati n
če [ $n == 'prenehati' ]
potem
odmev 'prekinjeno'
izhod 0
biti
če ( ( $n < 10 || $n > petdeset ) )
potem
odmev 'Številka je izven dosega'
drugače
odmev 'Številka je $n '
biti
Končano

Za zgornji skript smo dali 45 in 23 veljavnih vnosov. Po tem natisnemo 2 kot vhod, ki v izhodu pove, da je 'število izven obsega.' Nato za zapiranje skripta kot vnos vnesemo quit. Tukaj lahko tudi pritisnete Ctrl+C, da zaprete neskončno zanko.

Tri izrazne zanke v Bashu

Iz imena zanke treh izrazov je razvidno, da sestavljajo trije izrazi, imenovani tudi kontrolni izrazi. Prvi izraz (EXP1) je inicializator, drugi izraz (EXP2) je preizkus zanke ali pogoj, tretji izraz (EXP3) pa je izraz/korak za štetje. Zaženimo zanko s tremi izrazi v bashu:

#!/bin/bash
za ( ( n = 5 ; n > = 1 ; n-- ) )
narediti
odmev 'Knjiga $n '
Končano

Ko zaženete zgornji skript, boste dobili naslednji rezultat.

Zanka z več pogoji

Uporabili smo zanko do z več pogoji v naslednjem primeru zanke bash. V tem skriptu smo vzeli »m« in »n«, dve spremenljivki, katerih vrednosti sta 20 oziroma 10, in ohranili omejitev 15. Tukaj smo v zanki združili pogoje »m« in »n«, v kateri se bo zanka izvajala, dokler vrednost 'm' ni manjša od meje in 'n' ni večja od meje.

#!/bin/bash
omejitev = petnajst
m = dvajset
n = 10
dokler [ [ mio $ -Lt $meja || $n -gt $meja ] ] ;
narediti
odmev 'Če je M = mio $ potem je N = $n '
( ( m-- ) )
( ( n++ ) )
Končano

Vidite lahko, da se bo izvajanje zgornjega skripta izvajalo, dokler vrednosti »m« in »n« ne prideta na isto raven.

Preberi datoteko v Bashu

V bashu lahko berete vsebino datoteke na več načinov. V tem primeru zanke bash bomo prebrali vsebino datoteke prek imena datoteke. Za branje datoteke v bash lahko uporabimo naslednji skript:

#!/bin/bash
odmev 'Vsebina vnesene datoteke je:'
medtem
prebrati linija
narediti
odmev $line
Končano < ~Dokumenti / Linuxhint.txt

Ko zaženete zgornji skript, lahko preberete celotno vsebino vnesene datoteke.

Pisanje v datoteko

Zanke v skriptu lahko uporabite za urejanje datoteke neposredno iz terminala. Na primer, če imamo txt datoteko »Example.txt« in želimo dodati nekaj informacij, potem lahko uporabimo naslednji skript:


Če zaženete zgornji skript, vas bo pozval, da vnesete podrobnosti:


Ko vnesete podrobnosti, pritisnite CTRL + D, da shranite datoteko, in CTRL + Z, da uspešno zaključite postopek.

Prekini in nadaljuj zanko stavkov v Bashu

V bash lahko nadaljujete svoj stavek zanke po prekinitvi. Stavek break zapusti zanko in nato prenese nadzor na naslednji dani stavek. Ponovitev številka dve se začne po preskoku trenutne ponovitve z istim stavkom continue.

#!/bin/bash
na enem = 16
dokler lažno
narediti
( ( na enem-- ) )
če [ [ $num -ekv 13 ] ]
potem
nadaljevati
elif [ [ $num - to 4 ] ]
potem
odmor
biti
odmev 'LinuxHint= $num '
Končano

V naslednjem skriptu bash lahko vidite, da ko je »num« enako 13, preskoči preostali del telesa zanke in skoči na naslednjo ponovitev. Podobno se zanka prekine, ko je »num« manjše ali enako 4.


Zgornji skript kaže, da se zanka začne pri 15, se prekine pri 13 in nadaljuje do 5.

Izračun povprečja v Bashu

Povprečje lahko izračunate tako, da zaženete skript v zanki bash. Pri tem lahko uporabnik izračuna povprečje števil znotraj določenega obsega. Naslednji skript izračuna povprečje vnesenih podatkov s strani uporabnika.

#!/bin/bash
oznake = '0'
POVPREČJE = '0'
SUM = '500'
NA ENEGA = '5'
medtem prav ; narediti
odmev -n 'Vnesite svoje oznake ali pritisnite 'q' za prekinitev' ; prebrati oznake;
če ( ( ' $marks ' < '0' ) ) || ( ( ' $marks ' > '100' ) ) ; potem
odmev 'Prosimo, vnesite svoje ocene'
elif [ ' $marks ' == 'q' ] ; potem
odmev 'povprečne ocene so: POVPREČNO $ %'
odmor
drugače
SUM =$ [ $SUM + $marks ]
NA ENEGA =$ [ $NUM + 1 ]
POVPREČJE =$ [ $SUM / $NUM ]
biti
Končano

Če vnos ni znotraj obsega, se natisne sporočilo »Prosimo, vnesite svoje ocene«. Ko uporabnik po vnosu vseh oznak pritisne “q”, skript izračuna približno povprečje vseh vnesenih števil.

Ko se zažene zgornji skript, bo vaš rezultat nekaj takega.

Preberite argumente ukazne vrstice v Bashu

V bashu lahko z uporabo zank berete posamezne argumente ukazne vrstice. Skript natisne oblikovane vrednosti argumentov. Zaženemo argumente ukazne vrstice v bashu z uporabo zanke while v naslednjem skriptu. S tem boste natisnili vrednost, ki posreduje veljavno možnost vrednosti argumenta s pomočjo enega samega ukaza.

#!/bin/bash
medtem getopts N:F:M: OPT
narediti
Ovitek ' ${OPT} '
v
n ) ime = ${OPTARG} ;;
F ) očetovo ime = ${OPTARG} ;;
M ) matično ime = ${OPTARG} ;;
* ) odmev 'Neveljavno'
izhod 1 ;;
esac
Končano
printf 'Ime: $name \n ime očeta: $očetovo ime \n Ime matere: $mothername \n '

Tako lahko formatirane vrednosti argumentov natisnete na izhod, tako da zaženete zgornji skript v bash.

Zavijanje

To so bile torej kratke informacije o 10 kul in osupljivih primerih bash zanke, ki se jih lahko naučite. Za preprosto ustvarjanje interaktivnega skripta smo uporabili različne vrste zank. Poleg tega smo razložili tudi osnovne pristope, uporabljene v zgornjih primerih. Če imate poglobljene podrobnosti o zankah v bash, obiščite naše uradno spletno mesto, če želite izvedeti več.