Bevezetés a hurkokba a PowerShell-ben

Mindig szükségünk lesz hurkokra, ha van valami ismétlődő munka. A hurokban egy kóddarabot vagy bármilyen állítást ismétlődő módon futtatunk. Egy valódi példa: Tegyük fel, hogy egy iskolában 20000 hallgató van, és valamilyen okból kifolyólag az egyetem úgy döntött, hogy minden hallgatónak további 5 pontot biztosít a vizsgákra. Tehát az egyetem úgy döntött, hogy ezt az 5 pontot minden hallgatónak megadja, kivéve azokat, akiknek a képzése kevesebb, mint 100 nap. Most már csak azt kell feltételeznie, hogy a személyzet hogyan fogja csinálni, ellenőrizniük kell minden hallgató pontszámát és az év jelenlétét. De ugyanaz a helyzet bármely hurok segítségével nagyon egyszerűen megtörténhet, ha sorozat diákot készít a jelölésekkel és a részvételi időpontokkal. Ezáltal egy hurok segítségével extra erőfeszítéseket tudunk megtakarítani. Nézzük részletesebben a PowerShell hurkokat.

A hurkok típusai a PowerShell-ben

A hurok futtatásához a PowerShell-ben számos módszer létezik, de ez mindig függ az Ön igényeitől és a program megvalósíthatóságától, például ha legalább egyszer végrehajtani szeretne bármely tömböt, mint amit a do-while hurokhoz használnánk, a hurokhoz máshol léteznek. és mindegyiknek jó .

A típusokat és példáikat az alábbiakban adjuk meg:

1. Miközben

Míg az utasítás egy feltételt vesz fel argumentumként, és a nyilatkozat végrehajtása egy ideig a cikluson belül a feltételtől függ, ez azt jelenti, hogy ha egy feltétel sikeres, akkor az az utasítást másként nem fogja végrehajtani.

Szintaxis:

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

Példa:

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

Az alábbiakban látható a fenti kódfuttatás képernyője

2. Csináljon, míg

A Do művelet időtartama hasonló a csak a hurok különbséghez, ha legalább egyszer végrehajtja, azaz először végrehajtja a blokkot, és ha a feltétel igaz, akkor blokkol. Az alábbi szintaxisban a blokkot minden bizonnyal először hajtják végre.

  • Végrehajtás: Ez a blokk egyszer és egyszer végrehajtja a végrehajtás megkezdését.
  • Míg : Az 1. és a 2. állítás végrehajtása teljesen függ a feltétel sikerétől.

Szintaxis:

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

1. példa:

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

2. példa:

Ebben a példában a blokk először fog végrehajtani, még a feltétel sem volt igaz.

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

Az alábbiakban látható a két program képernyője

3. Addig végezzen

Addig tedd, amíg kicsit nem tér el, mint miközben tedd, addig, amíg a végrehajtás folytatódik, amíg a negatív eredményt „blokkolásig” vissza nem térik vissza. Két dolog fontos itt.

  • Végrehajtás: Ez a blokk addig folytatja a végrehajtást, amíg a blokk feltétel meghiúsul, vagyis addig, amíg a blokk negatív értéket ad vissza.
  • Addig : Végezzen az 1. és a 2. mondat blokkjának végrehajtását, amíg a feltételek nem adnak negatív eredményeket.

Szintaxis:

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

Példa:

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

A „csináld” blokkban láthatjuk, hogy a do mondat végrehajtása addig folytatódik, amíg a „amíg a blokk” feltétel pozitív értéket ad vissza.

Az alábbiakban látható a fenti kódfuttatás képernyője

4. Mert

Az utasítás számára egy kezdeti beállítás alapján nulla vagy több alkalommal futtat egy utasításlistát. A hurok alábbi szintaxisában három fontos szakasz található

  • Inicializálás szakasz : Ebben a szakaszban minden változóhoz hozzárendelt kezdeti értéket, ez a szakasz első alkalommal fut.
  • Állapot : A feltételes részekben azt a feltételt írjuk, amelyben a hurok futni fog, vagyis az utasításblokk végrehajtása mindig függ a feltétel részeinek sikerétől, ha a feltétel igaz, akkor az utasítás blokk másként nem fog végrehajtani.
  • Működés : Ebben a blokkban növelhetjük, csökkenthetjük vagy megváltoztathatjuk a változó vagy bármely más elem inicializálásának értékét az igényeinknek megfelelően.

Szintaxis:

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

1. példa:

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

A fenti kód kimeneti képernyője

Sokszor az egyik a hurokhoz nem elég a követelményeink teljesítéséhez, ezért használhatunk beágyazott hurkokat. Meg kell próbálnunk elkerülni a hurkok fészkelését, mivel ezek időbeli összetettsége nagyon megnőhet, ha nem megfelelően kezelik őket. Az alábbiakban bemutatjuk a hurokba beágyazott példát.

2. példa:

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

Teljesítés: 00 11 22

5. Mindenki számára

Az „Foreach” utasítás blokkokat futtat egymást követõen a tömb utolsó eleméig. Jó dolog a forEach kijelentésnél, hogy nem kell külön kódot írni az elemek tömbjének kibontásához. Általában a „foreach” a „for” hurok optimalizált változata, amely a tömb belső elemét adja meg anélkül, hogy programokat írt volna. Itt egyszerűen megvizsgálja a tömb belsejében lévő azon elemeket, amelyeken „foreach” hurkot futtatunk, ha van olyan elem, amely végrehajtja az 1. és a 2. utasítás blokkjait.

Szintaxis:

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

Példa:

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

A képernyő alatt a végrehajtások felett látható

A hurkok előnyei a PowerShell-ben

A hurok használatának legnagyobb előnye, hogy túl sokkal csökkenti a kézi munkát, és nagyon jó az adatok nagy méretének ellenőrzése egy hasonló típusú tevékenységre. Tegyük fel, hogy szeretném, ha kinyomtatná az 1-től 1000000-ig, és mondtam, hogy minden 2-hez osztható számhoz hozzáadhat 1-et, amely páros szám. Akkor, ha elkezdi nyomtatni egyesével, és megpróbál hozzáadni minden egyes páros számhoz, akkor túl sok időt vesz igénybe. Tehát az Ön által javasolt jobb és egyszerűbb módszer csak az volt, hogy megismételjük egy szám hozzáadásának folyamatát, amíg el nem éri a 1000000-at. A hurokból származó legnagyobb haszon az, hogy ugyanazt a kóddarabot használjuk újra, nem kell írnunk a ugyanaz a kód a lakhs adatokhoz, akkor automatikusan végrehajtja a kódot a végéig.

Az alábbiakban bemutatjuk az előnyök néhány pontját

  • Növelje a kód újrafelhasználhatóságát, ezáltal a kód kisebb lesz
  • A nagy adatok gyorsabb kiszámítása, sok kézmunkát megtakarítva
  • A kód redundációja kevesebb.

Példa az előnyeire

Kérdés: nyomtatás akár 1000-ig.

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

Ajánlott cikkek

Ez egy útmutató a hurkokhoz a PowerShell-ben. Itt a PowerShell hurkok típusait és azok előnyeit tárgyaljuk. Felfedeztük, hogy a hurkok nagyon hatékony eszköz, kevesebb erőfeszítéssel kell ugyanazt a kódot használni. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Mi a Shell Scripting?
  2. PowerShell karakterlánc funkciók
  3. PowerShell operátorok
  4. PowerShell parancsok
  5. Példák a PowerShell tömbjére

Kategória: