Johdanto PowerShell-silmukoihin

Tarvitsemme aina silmukoita, jos meillä on jotain toistuvaa työtä. Silmukka, ajamme koodin tai jonkin lauseen toistuvasti. Yksi todellinen esimerkki: Oletetaan, että koulussa on 20000 opiskelijaa ja jostain syystä yliopisto päätti antaa jokaiselle opiskelijalle 5 pistettä ylimääräisiä tenttejä. Joten yliopisto on päättänyt antaa nämä 5 pistettä jokaiselle opiskelijalle paitsi opiskelijoille, joiden läsnäoloaika on alle 100 päivää. Nyt oletat vain, kuinka henkilökunta tekee sen, heidän on tarkistettava jokaisen opiskelijan arvosanat ja vuoden läsnäolo. Mutta sama asia minkä tahansa silmukan avulla, se olisi voinut tapahtua erittäin helposti luomalla joukko opiskelijoita luetteloillaan ja läsnäolopäivät. Tällä tavalla voimme säästää ylimääräisiä ponnistuksia silmukan avulla. Ymmärtäkäämme PowerShellin silmukat yksityiskohtaisesti.

PowerShell-silmukoiden tyypit

PowerShellissä on monia tapoja suorittaa silmukka, mutta se riippuu aina vaatimuksistasi ja ohjelman toteutettavuudesta, esimerkiksi jos haluat suorittaa ainakin kerran minkä tahansa taulukon kohdalla kuin mitä meidän pitäisi käyttää tekemällä silloin, kun silmukka on muualla silmukassa. ja jokaiselle, joka on hyvää .

Tyypit ja niiden esimerkit on annettu alla:

1. Vaikka

Vaikka lausunto ottaa ehdon argumenttina ja käskyn suorittaminen jonkin aikaa silmukan sisällä riippuu ehdosta, se tarkoittaa, että jos ehto on onnistunut, niin se suorittaa käskyn muuten.

Syntaksi:

while(condition)
(
Statement 1
Statement 2
….
)

Esimerkki:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

Alla on näyttö yllä olevan koodin suorittamiseksi

2. Tee samalla

Tee vaikka on samanlainen kuin vain silmukka ero. Se on, että se suorittaa ainakin kerran, eli se suorittaa do lohkon ensimmäistä kertaa ja lohkon aikana, jos ehto on totta. Alla olevassa syntaksissa lohko suoritetaan varmasti ensimmäistä kertaa.

  • Tee : Tämä lohko suoritetaan ensimmäisen kerran, kun suoritus alkaa.
  • Vaikka : Lauseen 1 ja lauseen 2 toteutus riippuu täysin ehdon onnistumisesta.

Syntaksi:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Esimerkki 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Esimerkki 2:

Tässä esimerkissä do-lohko suorittaa ensimmäisen kerran, edes ehto ei ollut totta.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

Molempien ohjelmien näyttö näkyy alla

3. Tee kunnes

Tee, kunnes on vähän erilainen kuin tehdä, kun taas, kunnes suorittaminen jatkuu, kunnes negatiivinen tulos palautetaan "kunnes estää". Kaksi asiaa ovat tärkeitä täällä.

  • Tee : Tämä lohko jatkaa suorittamista, kunnes lohkon ehto epäonnistuu, mikä tarkoittaa, kunnes lohko palauttaa negatiivisen arvon.
  • Asti : Älä suorita lauseen 1 ja lauseen 2 suorittamista, kunnes olosuhteet palauttavat negatiiviset tulokset.

Syntaksi:

do
(
Statement 1
Statement 2
….
)until(condition)

Esimerkki:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

Kohdassa "tee kunnes" voidaan nähdä, että do-lohkon suorittaminen jatkuu, kunnes "kunnes lohko" -olosuhde palauttaa positiivisen arvon.

Alla on näyttö yllä olevan koodin suorittamiseksi

4. Sillä

Lausekkeelle suoritetaan lausekeluettelo nolla tai enemmän kertaa alkuperäisen asetuksen perusteella. Silmukan alla olevassa syntaksissa on kolme tärkeää osaa

  • Alustusosa : Tässä osiossa se antoi kaikille muuttujille alkuarvon, tämä osa toimii kerran ensimmäistä kertaa.
  • Ehto : Ehtoosissa kirjoitamme ehtomme, jonka silmukka suoritetaan, mikä tarkoittaa, että käskylohkon suorittaminen riippuu aina ehdollisten osien menestyksestä, jos ehto on totta, niin käskylohko suorittaa muuten.
  • Käyttö : Tässä lohkossa voimme lisätä, pienentää tai muuttaa muuttujan tai minkä tahansa aseman alustamisen arvoa vaatimuksemme mukaan.

Syntaksi:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Esimerkki 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Yllä olevan koodin ulostulonäyttö

Monta kertaa yksi silmukka ei riitä vaatimustemme täyttämiseen, joten voimme käyttää sisäkkäisiä silmukoita. Meidän tulisi yrittää välttää silmukoiden pesimistä, koska niiden aikakompleksi voi mennä erittäin suureksi, jos niitä ei käsitellä oikein. Alla on esimerkki sisäkkäisestä silmukasta.

Esimerkki 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Tuotos: 00 11 22

5. Jokainen

“Foreach” ajaa lauseenlohkoja peräkkäin taulukon viimeiseen kohtaan saakka. Hyviä asioita ForEach-lausunnossa on, että meidän ei tarvitse kirjoittaa erillistä koodia erottaaksesi joukon kohteita. Yleensä “foreach” on optimoitu versio “for” -silmukasta, joka antaa taulukon sisäisen osan kirjoittamatta mitään ohjelmia. Tässä se yksinkertaisesti tarkistaa, onko ryhmässä sisällä esineitä, joille meillä on “foreach” -silmukka, jos jokin esine on olemassa, se suorittaa lauseen 1 ja lauseen 2 lohkot.

Syntaksi:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Esimerkki:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Näytön alapuolella näkyy toteutusten yläpuolella

PowerShell-silmukoiden edut

Suurin hyöty silmukan käytöstä on se, että se vähentää liian paljon manuaalista työtä. Lisäksi on erittäin hyvä hallita datan suuri koko samanlaista toimintaa varten. Oletetaan, että haluan sinun tulostavan 1 - 1000000, ja sanoin, että voit lisätä yhden jokaiselle luvulle, joka jaetaan 2: lla, joka on parillinen luku. Sitten jos aloitat tulostamisen yksitellen ja yrität lisätä yhden jokaiselle parilliselle numerolle, vie liian paljon aikaa. Joten, suosittelemasi parempi ja helpoin tapa oli vain toistaa tämä lisäämällä numero numeroon, kunnes saavutamme 1000000. Suurin hyöty, jonka saamme silmukasta, on, että käytämme samaa koodinpätkää, emmekä tarvitse kirjoittaa sama koodi lakhs-tiedoille, se suorittaa koodin automaattisesti loppuun saakka.

Alla on muutama kohta hyötyjä

  • Lisää koodin uudelleenkäytettävyyttä, mikä pienentää koodia
  • Nopeampi laskenta isoille tiedoille säästää paljon käsityötä
  • Koodin redundanssi on vähemmän.

Esimerkki sen eduista

Kysymys: tulosta jopa 1000: een.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Suositellut artikkelit

Tämä on ollut opas Loopsiin PowerShellissä. Tässä keskustellaan PowerShell-silmukoiden tyypeistä ja niiden eduista. Ja huomasimme, että silmukat ovat erittäin tehokas työkalu, jolla on vähemmän vaivaa käyttää samaa koodia. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Mikä on Shell Scripting?
  2. PowerShell-merkkijonotoiminnot
  3. PowerShell-operaattorit
  4. PowerShell-komennot
  5. Esimerkkejä PowerShellin taulukosta

Luokka: