10 cool i sjajnih primjera Bash petlje

10 Cool I Sjajnih Primjera Bash Petlje



U programskom jeziku uglavnom postoje tri vrste petlji (for, while i until). Sve tri vrste petlji važne su na različite načine. Nema velike razlike između while i until petlji, ali for petlja radi sasvim drugačije od ove dvije. Zato možete koristiti ove petlje za stvaranje interaktivnih skripti kao bash korisnik.

Stoga vam učenje bash primjera može pomoći da poboljšate svoje vještine u stvaranju skripti. Stoga ćemo u ovom vodiču uključiti 10 cool i izvrsnih primjera bash petlji koje možete pokušati poboljšati svoje vještine pisanja skripti.







10 cool i sjajnih primjera Bash petlje

U ovom odjeljku ćemo objasniti različite primjere i pristupe koje smo koristili u petljama.



Seq naredba s petljom u Bashu

Možete koristiti seq naredbu u for petlji za stvaranje niza brojeva. Na primjer, imate bash skriptu 'File.sh' koja sadrži sljedeći kod:



#!/bin/bash
za A u $ ( seq 5 dva 25 )
čini
jeka 'brojevi $A su'
učinjeno





Nakon izvršavanja skripte u terminalu dobit ćete sljedeći rezultat:

. / datoteka.sh




Preimenujte datoteke pomoću petlje

Koristeći bash skriptu, možete koristiti for petlje za preimenovanje više datoteka. Na primjer, imate više .txt datoteka i želite uz naziv dodati trenutni datum. Evo primjera skripte koju možete koristiti:

#!/bin/bash
za A u $ ( ls * .txt ) ; čini
mv $A ( osnovno ime $A .txt ) _$ ( datum % d % m % ) .txt
učinjeno


Sada možete pokrenuti skriptu i ona će promijeniti naziv svih .txt datoteka dodavanjem trenutnog datuma:

. / MyFile.sh



Slično, možete promijeniti ekstenzije datoteke putem jedne skripte. Promijenimo ekstenziju .txt u .sh putem sljedeće skripte:

#!/bin/bash
za datoteka u * .txt; čini
mv -- ' $datoteka ' '{file%.txt}.sh'
učinjeno

Nakon izvršavanja skripte u terminalu, dobit ćete .sh umjesto .txt datoteke:

. / MyFile.sh


Beskonačna petlja For u Bashu

Kada u petlji nije definiran uvjet prekida, to se naziva beskonačna petlja. U ovom primjeru Bash petlje, pogledat ćemo beskonačnu for petlju u bashu. Sljedeća beskonačna for petlja definirana je dvostrukom točkom i zarezom ( ; ; ) i ne sadrži početne, radnje ili završne dijelove.

Skripta u nastavku nastavit će se sve dok ne pritisnete Ctrl+C ili ne upišete 'quit' kao unos. Ova skripta će ispisati svaki broj od 10 do 50 koji je dan kao ulaz. U suprotnom će se ispisati 'broj je izvan raspona.'

#!/bin/bash
#beskonačna petlja
za ( ( ; ; ) )
čini
jeka 'Unesite broj između 10 i 50'
čitati n
ako [ $n == 'prestati' ]
zatim
jeka 'prekinut'
Izlaz 0
biti
ako ( ( $n < 10 || $n > pedeset ) )
zatim
jeka 'Broj je izvan dometa'
drugo
jeka „Broj je $n '
biti
učinjeno

Dali smo 45 i 23 važeća unosa na gornju skriptu. Nakon toga ispisujemo 2 kao ulaz koji u izlazu govori da je 'broj izvan raspona.' Nakon toga, za zatvaranje skripte, upisujemo quit kao unos. Ovdje također možete pritisnuti Ctrl+C da izađete iz beskonačne petlje.

Tri petlje izraza u Bashu

Iz naziva petlje s tri izraza poznato je da se sastoji od tri izraza, koji se nazivaju i kontrolni izrazi. Prvi izraz (EXP1) je inicijalizator, drugi izraz (EXP2) je test petlje ili uvjet, a treći izraz (EXP3) je izraz/korak brojanja. Pokrenimo petlju s tri izraza u bashu:

#!/bin/bash
za ( ( n = 5 ; n > = 1 ; n-- ) )
čini
jeka 'Knjiga $n '
učinjeno

Kada pokrenete gornju skriptu, dobit ćete sljedeći izlaz.

Petlja s više uvjeta

Koristili smo do petlju s više uvjeta u sljedećem primjeru bash petlje. U ovoj skripti uzeli smo “m” i “n”, dvije varijable čije su vrijednosti 20 odnosno 10, i zadržali ograničenje od 15. Ovdje smo stavili “m” i “n” uvjete zajedno u petlju, u kojoj će se petlja izvoditi dok vrijednost 'm' ne bude manja od granice i 'n' bude veća od granice.

#!/bin/bash
ograničiti = petnaest
m = dvadeset
n = 10
do [ [ milijun dolara -lt $ograničenje || $n -gt $ograničenje ] ] ;
čini
jeka 'Ako je M = milijun dolara tada je N = $n '
( ( m-- ) )
( ( n++ ) )
učinjeno

Možete vidjeti da će se izvršavanje gornje skripte izvoditi sve dok vrijednosti 'm' i 'n' ne dođu na istu razinu.

Pročitajte datoteku u Bashu

U bashu možete čitati sadržaj datoteke na nekoliko načina. U ovom primjeru bash petlje, čitat ćemo sadržaj datoteke kroz naziv datoteke. Možemo koristiti sljedeću skriptu za čitanje datoteke u bashu:

#!/bin/bash
jeka 'Sadržaj unesene datoteke je:'
dok
čitati crta
čini
jeka $linija
učinjeno < ~Dokumenti / Linuxhint.txt

Nakon pokretanja gornje skripte, možete pročitati cijeli sadržaj unesene datoteke.

Zapisivanje u datoteku

Možete koristiti petlje u skripti za uređivanje datoteke izravno s terminala. Na primjer, ako imamo txt datoteku 'Example.txt' i želimo dodati neke informacije, tada možemo koristiti sljedeću skriptu:


Ako pokrenete gornju skriptu, od vas će se tražiti da unesete pojedinosti:


Nakon što unesete pojedinosti, pritisnite CTRL + D da biste spremili datoteku i CTRL + Z da biste uspješno završili proces.

Prekini i nastavi petlju naredbi u Bashu

U bashu možete nastaviti svoju naredbu petlje nakon prekida. Naredba break izlazi iz petlje i zatim predaje kontrolu sljedećoj danoj naredbi. Iteracija broj dva počinje nakon što je trenutna iteracija preskočena istom naredbom continue.

#!/bin/bash
na jedan = 16
do lažno
čini
( ( na jedan-- ) )
ako [ [ $num -ekv 13 ] ]
zatim
nastaviti
elif [ [ $num - ono 4 ] ]
zatim
pauza
biti
jeka 'LinuxHint= $num '
učinjeno

U sljedećoj bash skripti možete vidjeti da kada je 'num' jednak 13, preskače ostatak tijela petlje i skače na sljedeću iteraciju. Slično, petlja će prekinuti kada je 'num' manji ili jednak 4.


Gornja skripta pokazuje da petlja počinje na 15, prekida se na 13 i nastavlja do 5.

Izračunavanje prosjeka u Bashu

Prosjek možete izračunati pokretanjem skripte u bash petlji. Pri tome korisnik može izračunati prosjek brojeva unutar definiranog raspona. Sljedeća skripta izračunava prosjek korisničkog unosa.

#!/bin/bash
oznake = '0'
PROSJEČAN = '0'
IZNOS = '500'
NA JEDAN = '5'
dok pravi ; čini
jeka -n 'Unesite svoje oznake ili pritisnite 'q' za prekid' ; čitati oznake;
ako ( ( ' maraka dolara ' < '0' ) ) || ( ( ' maraka dolara ' > '100' ) ) ; zatim
jeka 'Molimo unesite svoje ocjene'
elif [ ' maraka dolara ' == 'q' ] ; zatim
jeka 'prosječne ocjene su: PROSJEČNO USD %'
pauza
drugo
IZNOS =$ [ SUM USD + maraka dolara ]
NA JEDAN =$ [ $NUM + 1 ]
PROSJEČAN =$ [ SUM USD / $NUM ]
biti
učinjeno

Ako unos nije unutar raspona, ispisuje se poruka 'Molimo unesite svoje ocjene.' Kada korisnik pritisne “q” nakon unosa svih ocjena, skripta izračunava približan prosjek svih unesenih brojeva.

Kada se gornja skripta pokrene, vaš izlaz će biti nešto poput ovoga.

Pročitajte argumente naredbenog retka u Bashu

U bashu možete čitati pojedinačne argumente naredbenog retka pomoću petlji. Skripta ispisuje formatirane vrijednosti argumenata. Izvodimo argumente naredbenog retka u bashu koristeći while petlju u sljedećoj skripti. Ovim ćete ispisati vrijednost prosljeđujući valjanu opciju vrijednosti argumenta uz pomoć jedne naredbe.

#!/bin/bash
dok getopts N:F:M: OPT
čini
slučaj ' ${OPT} '
u
N ) Ime = ${OPTARG} ;;
F ) ime Oca = ${OPTARG} ;;
M ) majčino ime = ${OPTARG} ;;
* ) jeka 'nevažeći'
Izlaz 1 ;;
esac
učinjeno
printf 'Ime: $ime \n Ime Oca: $ime oca \n Ime majke: $ime majke \n '

Dakle, možete ispisati formatirane vrijednosti argumenata na izlazu pokretanjem gornje skripte u bashu.

Završavati

Dakle, ovo su bile kratke informacije o 10 cool i izvrsnih primjera bash petlje koje možete naučiti. Koristili smo različite vrste petlji za jednostavno stvaranje interaktivne skripte. Štoviše, također smo objasnili osnovne pristupe korištene u gornjim primjerima. Ako imate detaljne pojedinosti o petljama u bashu, posjetite našu službenu web stranicu da biste saznali više.