BASH programiranje

Primjeri ugniježđene petlje u bashovim skriptama

Primjeri ugniježđene petlje u bashovim skriptama

U programiranju ili skriptiranju petlja je jedan od najosnovnijih i najsnažnijih koncepata. Petlja obavlja određene zadatke dok se ne ispune navedeni uvjeti. Svaki programski ili skriptni jezik ima različite načine implementacije koncepta.

U ovom vodiču pogledajte ugniježđenu petlju u bash skripti.

Ugnježđena petlja

Petlja, prema definiciji, izvodi određene zadatke dok se ne ispune uvjeti. Što ako zadatak uključuje pokretanje petlje? Ovo je koncept ugniježđene petlje. Petlja unutar petlje.

Ovo je osnovna struktura petlje.

while (uvjet)
# nešto

Ovdje će while petlja nastaviti izvršavati zadatke deklarirane unutar bloka sve dok je ispunjen uvjet. U slučaju ugniježđene while petlje, struktura bi izgledala ovako.

# glavna petlja
while (uvjet)
# ugniježđena petlja
while (uvjet)
# nešto

U teoriji ugniježđene petlje mogu ići do beskonačne dubine. U mnogim situacijama ugniježđene petlje mogu biti savršeno rješenje.

Petlja u bash skripti

Bash je moćan skriptni jezik. U bashu postoje različite strukture petlje. Najpopularniji su za petlje, dok i dok. Ako ste već upoznati s programiranjem na C / C ++, tada će sintaksa izgledati prilično slično.

Za petlje

For loop je jedan od najčešćih i najsvestranijih oblika izlaza itd. Struktura petlji u bash skriptiranju. Struktura također puno podsjeća na petlju u C / C ++.

Struktura for petlje u bashu je sljedeća.

for ((inicijalizirati; uvjet; prirast)); čini
# nešto
gotovo

Struktura je vrlo razumljiva. Odjeljak inicijalizacije nije obvezan. Međutim, uvjet i priraštaj su veći prioritet.

Krenimo u djelo. Evo vrlo pojednostavljene bash skripte koja implementira for loop.

za ((i = 0; i < 5 ; i++)); do
odjek "zdravo svijetu"
gotovo

Također je moguće koristiti popis / raspon kao uvjet petlje. Posebno je korisno ako radite s popisom datoteka, rasponima brojeva, nizovima, izlazima naredbi itd. Struktura izgleda otprilike ovako.

za stavku u ; čini
# nešto
gotovo

Na primjer, sljedeća će se skripta pet puta ispisati "hello world".

za i u 1… 5; čini
odjek "zdravo svijetu"
gotovo

Što ako trebamo raditi sa sadržajem direktorija? U sljedećem primjeru skripta će ispisati sve datoteke u direktoriju / usr / bin.

za i u / usr / bin / *; čini
odjek $ i
gotovo

Sada, što radimo da imamo ugniježđenu petlju for? To je samo jedan za petlju unutar drugog. Evo ugniježđene for petlje koristeći prethodni primjer.

za ((i = 0; i < 3 ; i++)); do
za ((j = 0; j < 2 ; j++)); do
odjek "zdravo svijetu"
gotovo
gotovo

Izlaz će biti "zdravo svijetu" 6 puta. Vanjska petlja pokrenut će se tri puta, unutarnja petlja dva puta.

Dok petlje

Petlja while je još jedna popularna i intuitivna petlja dostupna u bash skriptama. Sintaksa izgleda ovako.

dok ; čini
# nešto
gotovo

U sljedećem primjeru, skripta će pet puta ispisati "hello world".

num = 1
dok [$ num -le 5]; čini
odjek "zdravo svijetu"
num = $ (($ num + 1))
gotovo

Kako bi izgledalo imati ugniježđenu while petlju? Evo jednostavnog primjera.

broj_a = 1
num_b = 1
dok je [$ num_a -le 5]; čini
dok [$ num_b -le 5]; čini
odjek "zdravo svijetu"
num_b = $ (($ num_b + 1))
gotovo
num_a = $ (($ num_a + 1))
gotovo

Do petlje

Ako imate pozadinu za programiranje na C / C ++, tada vam je poznata petlja rada. Nažalost, bash nema ništa slično. Međutim, sve dok petlja ne djeluje na sličan način. Sintaksa također izgleda prilično isto.

dok [ ]; čini
# nešto
gotovo

Razlika između petlje while i dok je petlja uvjet je ispitivanja. Sve dok je test uvjet istinit, while petlja će nastaviti raditi. Petlja till, međutim, nastavit će se izvoditi samo ako je uvjet netačan.

Evo kratkog primjera while petlje. Ispisat će tablicu množenja od 2.

broj_a = 1
do [$ num_a -gt 10]; čini
echo $ (($ num_a * 2))
num_a = $ (($ num_a + 1))
gotovo

Prekid petlje

U određenim situacijama, ako su ispunjeni određeni uvjeti, pokretanje ostatka petlje postaje suvišno. Prekidi petlje zanimljiva su značajka koja omogućuje probijanje petlje u zadanim uvjetima. Važnije je za ugniježđene petlje jer što su veće petlje, to je veća potrošnja resursa i neučinkovitost.

Ovdje će se sljedeća petlja prestati izvršavati čim postigne stanje.

za ((i = 1; i<=100;i++)); do
odjek $ i
ako [$ i -eq 10]; zatim
pauza
fi
gotovo

Provjerite kako prekinuti petlju while za dubinsko objašnjenje i demonstraciju prekida petlje.

Završne misli

Ugniježđena petlja je jednostavan i moćan koncept za razumijevanje i provedbu. Nadamo se da je ovaj vodič mogao opisati i pokazati koncept.

Zainteresirani za više bash vodiča za skriptiranje? Pogledajte sljedeće vodiče.

  • Beskonačna petlja basha
  • Unos korisnika bash skripte
  • Bash funkcija koja vraća niz

Sretno računanje!

Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...
Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...