Katsaus silmukan komentosarjoihin

Sanotaan tässä tapauksessa Shell Scriptingin silmukka, jos haluamme suorittaa tehtävän tai operaation toistuvasti, voimme kirjoittaa saman koodin useita kertoja, mikä on aikaa vievä tehtävä eikä myöskään tehokas. Tämän tyyppisten skenaarioiden välttämiseksi voimme käyttää silmukoita kuten loop ohjelmointikielellä. Joten silmukkaa käytetään tietyn tehtävän suorittamiseen, kuten summaamiseen / kertoamiseen tai muuhun operaatioon tietyn määrän kertoja, kunnes lopetusedellytys täyttyy missä tahansa käyttöjärjestelmässä. Meidän ei tarvitse kirjoittaa samaa koodia uudestaan ​​ja uudestaan ​​käyttämällä silmukkaa.

Silmukan syntaksi

Silmukan komentosarjojen syntaksi voidaan esittää seuraavilla tavoilla:

1. Ensimmäinen syntaksimenetelmä

for var in list
do
command1
command2
done

Yllä olevasta esimerkistä meillä on ennalta määritellyt avainsanat tai sisäänrakennetut avainsanat, kuten for, do, done ja in. Taas luettelo on muuttujien luettelo tai sanalista tai numeroiden luettelo ja var on muuttujan nimi tuon iteraation aikana. Jos luetteloa ei toimiteta, niin bash ottaa sijainnin parametrin, jonka läpäissimme kuoressa. Yllä olevassa silmukan kohdalla se suorittaa kaikki komennot, jotka ovat välillä tehdyn ja tehdyn välillä n useita kertoja, missä n on luettelon koko. Esimerkiksi, jos luettelon koko on 5, jolla on numeroita 1-5, niin ensimmäisen iteraation aikana 1 varastoidaan varissa ja operaatiot var: lla suoritetaan silmukan rungolle, jossa komennot ovat.

2. Toinen syntaksimenetelmä

for ( ( expr1; expr2; expr3 ))
do
command1
command2
….
done

Edellä olevassa syntaksissa, jos havaitsemme, tämä syntaksi on samanlainen kuin silmukan syntaksi c-ohjelmointikielellä. Silmukassa on kolme lauseketta, joissa ensimmäinen lauseke on alustamista, toinen on ehdollista tarkistusta varten ja kolmas on iteraattorin päivittäminen. Yllä oleva suorittaminen silmukalle alkaa tällä tavalla, ennen kuin ensimmäisen iteroinnin expr1 aloitetaan, mikä tarkoittaa, että alustus tehdään sen jälkeen, kun operaatiot / komennot suoritettavien ja suoritettujen välillä tehdään toistuvasti, kunnes lauseke 2 arvioi totuuden ja jokaisen iteraation jälkeen päivitys iteraattoriarvo (laskuri), jotta toiminnot suoritetaan seuraavalle elementille tai arvolle luettelossa, taulukossa tai merkkijonossa.

Vuokaavio - silmukkaa varten komentosarjojen komentosarjoissa

Tarkastellaan esimerkkiä silmukasta ja keskustellaan sen virtauksesta vuokaavion avulla.

for filename in *.dat
do
echo cp $fname orig_$fname
done

Yllä olevassa vuokaaviossa selitämme silmukan virtausta, joka iteroi luettelossa tiedostonimiä, ja virtauksessa on neljä vaihetta, kuten prosessivirta, muuttuva arvo, prosessi ja erotus. Prosessivirrassa se selittää, milloin for-silmukka alkaa, iteraattorin arvo, tarkistetaan olosuhde, täyttyykö, suorittaa prosessin, muuten lopettaa prosessin. Muuttujana, iteroimalla iteraatio, saamme siihen tiedostonimen, kuten textfile.dat, ja prosessin aikana se suorittaa kaikulausekkeen, jossa se näyttää kopiolausunnon vanhalla tiedostonimellä ja uudella tiedostonimellä stdout-tiedostossa. Joten tämä on silmukan virta, joka iteroi syötetiedostonimien luettelon yli.

lähtö:

Miten Loop toimii Shell Scripting -sovelluksessa?

Loop-shell-skripti toimii seuraavasti: aina, kun shell näkee avainsanan, se tietää, että sen on toistettava joukko komentoja kerran jokaiselle luettelon kohteelle. Joka kerta, kun iterointi suoritetaan, luettelossa oleva kohde määritetään muuttujalle var ja prosessoidaan var-luettelo läpi komentojen luettelon, joka on silmukassa tekemisen ja suorittamisen välillä, ennen kuin siirrytään seuraavaan luettelon kohtaan tai seuraavaan iteraatioon. Käytämme muuttujan arvoa käyttämällä $ ennen muuttujaa, niin että kun komentosarjan komento käsittelee sitä, arvo korvaavissa vaihtoehdoissa korvaa sen tilalle.

Esimerkki:

for filename in *.txt
do
ls filename
done

Yllä olevassa ohjelmassa lähetämme luettelon .txt-tiedostoista syötteenä for-silmukalle ja muuttujan nimi on tiedostonimi, johon .txt-tiedosto tallentaa ja käsittelee sitten tiedostonimen lisäämällä .txt-tiedoston tiedostonimeen ja sitten sama prosessi toistuu, kunnes kaikki .txt-tiedostojen käsittely on valmis.

lähtö:

Esimerkkejä silmukasta

Toistaiseksi olemme keskustelleet siitä, kuinka silmukka toimii komentosarjoissa ja eri syntaksissa. Katsotaanpa nyt muutamia esimerkkejä ja käymällä läpi ne ja selitetään jokainen esimerkki sen toiminnasta

Esimerkki # 1

Otetaan seuraavaksi luettelo staattisista arvoista, jotka ovat syöttönä silmukkaan ja miten se suorittaa:

for a day in Fri Thu Wed Tue Mon
do
echo “Todays day is $day”
done

Yllä olevassa esimerkissä meidän ei pidä välittää syöttöarvoja, sillä erotin, jos ohitamme, katsoo, että erotin on myös arvo, kuten ”pe”, ja meidän ei pitäisi luetteloida arvoja kaksoislainausmerkeillä ”, jos välitämme ne kaksoislainauksilla, shell-käsikirjoitus käsittelee kaikkia arvoja yhtenä arvona.

Esimerkki o / p: Tänään päivä on: pe to to ke ti ma (jos käytämme kaksoislainauksia)

lähtö:

Esimerkki 2

Katsokaamme nyt toinen esimerkki, jossa käytämme kanssa ennen syöttöluetteloa, kuten alla:

Month = “Jan Feb Mar Apr May Jun”
for mon in $Month
do
echo “Month is $mon”
done

Yllä olevassa esimerkissä teemme silmukalle saman suorituksen kuin yllä olevassa esimerkissä, mutta syöttöluettelon sijasta lukeminen tehdään käyttämällä "in" -sanaa. Shell-komentosarjoissa jokainen muuttuja on esitettävä kaksoislainausmerkeissä, mutta on muutamia poikkeuksia, kuten jos käytämme kaksoislainauksia dollarin kuukaudessa yllä silmukkariville, niin se käsittelee kokonaisia ​​sanoja yhtenä rivinä. Joten meidän on huolehdittava siitä.

lähtö:

Esimerkki 3

Nyt kirjoitamme silmukalle ilman syöttöluetteloa silmukkailmoitukseen, sen sijaan se vie panoksen sijaintipaikkaperusteista komentosarjaan ja esimerkkiin kuten alla:

Olkaamme kuori komentosarjan nimi esimerkki.sh ja sen sisältö alla:

for num
do
echo “Number is $num”
done
./sample.sh 1 2 3 4 5

Yllä olevassa esimerkissä syöttö silmukkaan siirretään komentosarjalle toimitetusta argumenttiluettelosta niin, että se käsittelee kutakin argumenttia varten kaikki komennot ja näyttää tulosteen, kunnes kaikki argumentit iteroituvat.

lähtö:

Johtopäätös - Silmukkaa varten Shell Scripting

Viimeinkin, kaikki on kyse silmukka-komentosarjojen komentosarjoista. Olemme keskustelleet siitä, mitä on silmukan komentosarjoille, silmukkasyntaksille, sen vuokaaviosta, joka selittää silmukan virtauksen, kuinka silmukka toimii kuoressa, ja esimerkkejä silmukan komentosarjoista. Toivon, että ymmärrät silmukan, kuinka sitä käytetään shell-komentosarjoissa ja suorittaa se tämän artikkelin lukemisen jälkeen.

Suositellut artikkelit

Tämä on opas For loop -sovellukseen Shell Scripting -sovelluksessa. Tässä keskustellaan johdannosta, kuinka silmukka toimii komentosarjoissa, vuokaavio ja esimerkki silmukasta. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Silmukoita R: ssä
  2. Spark SQL Dataframe
  3. Moniulotteinen tietokanta
  4. Tietojen visualisoinnin edut

Luokka: