Uvod v zanke v PowerShellu

Zanke bomo vedno potrebovali, če bomo imeli nekaj ponavljajočega se dela. V zanki sprožimo del kode ali katero koli izjavo, ki se ponavlja. En resničen primer, predpostavimo, da v šoli šteje 20000 študentov in da se je univerza iz nekega razloga odločila, da bo vsakemu študentu namenila 5 mark dodatnega izpita. Tako se je univerza odločila, da bo teh pet mark dala vsakemu študentu, razen tistim, katerih udeležba je manjša od 100 dni. Zdaj samo domnevate, kako bo to delalo osebje, preveriti bodo morali ocene in udeležbo na letniku. Toda isto s pomočjo katere koli zanke bi bilo to mogoče storiti zelo enostavno, tako da smo ustvarili niz študentov z njihovimi ocenami in datumom udeležbe. S pomočjo zanke lahko prihranimo dodatne napore. Naj podrobneje razumemo zanke v PowerShellu.

Vrste zank v PowerShellu

Obstaja veliko načinov za zagon zanke v PowerShell-u, vendar je vedno odvisno od vaših zahtev in izvedljivosti programa, na primer, če želite vsaj enkrat izvesti za kateri koli niz, kot bi morali uporabiti zanko do-while, za zanko pa še obstajajo. in za vsakega, ki je dober .

Vrste in njihovi primeri so navedeni spodaj:

1. Medtem ko

Medtem ko stavek vzame pogoj kot argument in izvedba stavka znotraj zanke za čas, je odvisna od pogoja, to pomeni, da če je pogoj uspešen, bo izvedel stavek drugače ne.

Sintaksa:

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

Primer:

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

Spodaj je zaslon za zgornjo izvedbo kode

2. Ali medtem

Delajte, medtem ko je podobno, medtem ko je razlika med zanko le, da se bo izvedla vsaj enkrat, kar pomeni, da bo izvedla blok prvič, medtem ko blokira, če je pogoj resničen. V spodnji sintaksi zagotovo naredite blok prvič.

  • Naredi : Ta blok se izvaja najprej in enkrat, ko se začne izvajanje.
  • Medtem ko : Izvedba stavka 1 in stavka 2 je popolnoma odvisna od uspešnosti pogoja.

Sintaksa:

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

1. primer:

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

Primer # 2:

V tem primeru se bo blok prvič izvedel, celo pogoj ni bil resničen.

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

Spodaj je prikazan zaslon za oba programa

3. Do Do

Naredite, dokler ni malo drugače kot do, medtem ko se izvaja, dokler se izvršitev ne nadaljuje, dokler ne vrnete negativnega rezultata s "dokler ne blokirate". Tu so stvari pomembne.

  • Naredi : Ta blok se bo izvajal, dokler stanje bloka ne bo uspešno, kar pomeni, da blok vrne negativno vrednost.
  • Do : Izvedite blok 1 in 2. stavek, dokler pogoji ne vrnejo negativnih rezultatov.

Sintaksa:

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

Primer:

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

V bloku "do, dokler" vidimo, da se bo izvedba bloka naredila, dokler pogoj "dokler blok" ne vrne pozitivne vrednosti.

Spodaj je zaslon za zgornjo izvedbo kode

4. Za

Za izjavo zažene seznam izjav nič ali večkrat glede na začetno nastavitev. V spodnji sintaksi za zanke so trije pomembni razdelki

  • Oddelek za inicializacijo : v tem razdelku je dodeljena začetna vrednost za katero koli spremenljivko, ta odsek se prvič zažene enkrat.
  • Pogoj : V pogojnih delih zapišemo svoje stanje, za katero zanko se bo izvajala zanka, kar pomeni, da je izvedba bloka stavka vedno odvisna od uspešnosti delov pogoja, če je pogoj resničen, potem bo blok stavka izvedel še ne.
  • Delovanje : V tem bloku lahko povečamo, zmanjšamo ali spremenimo vrednost inicializacije spremenljivke ali kakršnih koli stvari v skladu z našimi zahtevami.

Sintaksa:

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

1. primer:

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

Izhodni zaslon zgornje kode

Velikokrat ena zanka ni dovolj za dokončanje naših zahtev, zato lahko uporabimo ugnezdene zanke. Morali bi se izogniti gnezditvi zank, saj lahko njihova časovna zahtevnost postane zelo visoka, če se z njimi ne ravna pravilno. Spodaj je primer ugnezdene zanke.

Primer # 2:

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

Izhod: 00 11 22

5. ForEach

“Foreach” zaporedoma zažene bloke izjav do zadnjega elementa matrike. Dobre stvari v zvezi z izjavo forEach je, da nam ni treba pisati nobene ločene kode za ekstrahiranje matrike elementov. Na splošno je "foreach" optimizirana različica zanke "for", ki daje notranjo postavitev matrike brez pisanja programov. Tu preprosto preveri, ali je element znotraj matrike, na katerem izvajamo zanko »foreach«, če je kateri koli element, izvedel bloke stavek 1 in stavek 2.

Sintaksa:

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

Primer:

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

Spodaj na zaslonu je prikazano zgoraj usmrtitev

Prednosti zank v PowerShellu

Največja prednost uporabe zanke je, da zmanjša preveč ročnega dela in je zelo dobro nadzorovati velikost podatkov za podobno vrsto dejavnosti na njej. Recimo, da želim, da natisnete 1 do 1000000, in povedal sem vam, da lahko vsaki številki, ki je deljiva z dvema, dodate 1, kar je sodo število. Potem, če začnete tiskati eno za drugim in poskusite dodati eno v vsako parno številko, bo trajalo preveč časa. Torej, boljši in enostaven način, ki ste ga predlagali, je bilo samo ponoviti ta postopek dodajanja številke, dokler ne dosežemo 1000000. Največja korist, ki jo dobimo iz zanke, je ta, da ponovno uporabimo isti kos kode, ne potrebujemo, da napišemo ista koda za lakhs podatkov bo samodejno izvedla kodo do konca.

Spodaj je nekaj točk prednosti

  • Povečate ponovno uporabo kode, zaradi česar je koda manjša
  • Hitrejši izračun za velike podatke, prihranite veliko ročnega dela
  • Odvečnost kode je manjša.

Primer s svojimi koristmi

Vprašanje: natisni do 1000.

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;
)

Priporočeni članki

To je vodnik za zanke v PowerShellu. Tukaj razpravljamo o vrstah zank v PowerShellu, skupaj z njihovo koristjo. In odkrili smo, da so zanke zelo močno orodje z manj truda za uporabo iste kode. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Kaj je Shell Scripting?
  2. Funkcije niza PowerShell
  3. Operaterji PowerShell
  4. Ukazi PowerShell
  5. Primeri matrike v PowerShellu

Kategorija: