Introducere în Bucle în PowerShell

Vom avea întotdeauna nevoie de bucle dacă avem ceva repetitiv, În buclă, rulăm o bucată de cod sau orice declarație în mod repetat. Un exemplu real, să presupunem că într-o școală există 20000 de studenți și, din anumite motive, universitatea a decis să acorde 5 note suplimentare pentru examene fiecărui student. Astfel, universitatea a decis să acorde aceste 5 note fiecărui student, cu excepția celor a căror participare este mai mică de 100 de zile. Acum doar presupuneți cum o vor face personalul, vor trebui să verifice notele fiecărui student și prezența anului. Dar același lucru cu ajutorul oricărei bucle ar fi putut fi realizat foarte ușor, prin crearea unui șir de studenți cu notele și datele de participare. Prin această buclă, putem salva eforturi suplimentare. Să înțelegem în detaliu Bucle în PowerShell.

Tipuri de bucle în PowerShell

Există mai multe modalități de a rula bucla în PowerShell, dar depinde întotdeauna de cerințele și fezabilitatea programului dvs., de exemplu, dacă doriți să executați cel puțin o dată pentru orice tablou decât ar trebui să folosim bucla do-while altceva există pentru buclă și pentru fiecare, care este bun .

Tipurile și exemplele acestora sunt prezentate mai jos:

1. În timp ce

În timp ce instrucțiunea ia o condiție ca argument și execuția instrucțiunii într-o buclă de timp depinde de condiție, asta înseamnă că dacă o condiție este un succes, atunci va executa declarația altfel nu.

Sintaxă:

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

Exemplu:

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

Mai jos este ecranul pentru executarea codului de mai sus

2. Faceți în timp ce

Faceți în timp ce este similar cu în timp ce diferența de buclă este doar că se va executa cel puțin o dată, ceea ce înseamnă că va executa un bloc pentru prima dată și în timp ce bloc dacă o condiție este adevărată. În sintaxa de mai jos, blocul este executat pentru prima dată cu siguranță.

  • Faceți : acest bloc se execută pentru prima dată și o dată când începe execuția.
  • În timp ce : Executarea declarației 1 și a declarației 2 depind în totalitate de succesul afecțiunii.

Sintaxă:

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

Exemplul # 1:

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

Exemplul # 2:

În acest exemplu do block se va executa pentru prima dată chiar dacă condiția nu a fost adevărată.

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

Ecranul pentru ambele programe este prezentat mai jos

3. Faceți până când

Fă până când este puțin diferit față de când, în timp până când execuția va continua până se va întoarce rezultatul negativ prin „până la bloc”. Două lucruri sunt majore aici.

  • Realizare : Acest bloc va continua să se execute până când eșecul condiției de blocare înseamnă, până când blocul va returna o valoare negativă.
  • Până : Se execută instrucțiunea bloc 1 și instrucțiunea 2 până când condițiile returnează rezultate negative.

Sintaxă:

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

Exemplu:

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

În blocul „face până” putem observa că execuția blocului do va continua până când condiția „până la bloc” returnează o valoare pozitivă.

Mai jos este ecranul pentru executarea codului de mai sus

4. Pentru

Pentru instrucțiuni rulează o listă de instrucțiuni de zero ori mai multe, pe baza unei setări inițiale. În sintaxa de mai jos a for loop, există trei secțiuni importante

  • Secțiunea de inițializare : în această secțiune, a atribuit o valoare inițială pentru orice variabilă, această secțiune se execută o dată pentru prima dată.
  • Condiție : În părțile condiției, scriem condiția noastră pentru care va rula bucla, ceea ce înseamnă că execuția blocului de instrucțiuni depinde întotdeauna de succesul părților condiției, dacă condiția este adevărată, atunci blocul de instrucțiuni va executa altfel nu.
  • Funcționare : în acest bloc, putem crește, micșora sau modifica valoarea inițializării unei variabile sau a oricăror lucruri conform cerințelor noastre.

Sintaxă:

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

Exemplul # 1:

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

Ecranul de ieșire al codului de mai sus

De multe ori, una pentru buclă nu este suficientă pentru a ne completa cerințele, așa că putem folosi cuiburi pentru bucle. Ar trebui să încercăm să evităm cuibul de bucle, deoarece complexitatea lor de timp poate merge foarte ridicat dacă nu este tratată corect. Mai jos este un exemplu de cuibărit pentru buclă.

Exemplul # 2:

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

Ieșire: 00 11 22

5. ForEach

„Foreach” rulează blocuri de instrucțiuni timp consecutiv până la ultimul element al unui tablou. Lucruri bune despre fiecare declarație este că nu trebuie să scriem cod separat pentru a extrage o serie de elemente. În general, „foreach” este o versiune optimizată a buclei „pentru”, care oferă elementul interior al tabloului fără a scrie programe. Aici, verifică pur și simplu dacă în interiorul tabloului pe care rulăm bucla „foreach” dacă orice articol este acolo va executa blocuri de instrucțiuni 1 și 2.

Sintaxă:

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

Exemplu:

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

Mai jos ecranul arată mai sus execuțiile

Beneficiile buclelor în PowerShell

Cel mai mare beneficiu al utilizării unei bucle este, reduce prea mult munca manuală, de asemenea, este foarte bine să controlați dimensiunea mare a datelor pentru un tip similar de activitate pe ea. Să zicem că vreau să imprimați 1 până la 1000000 și v-am spus că puteți adăuga 1 la fiecare număr divizibil cu 2, care este un număr egal. Apoi, dacă începeți să imprimați unul câte unul și încercați să adăugați 1 la fiecare număr egal, va dura prea mult timp. Așadar, o modalitate mai bună și mai ușoară pe care ați sugerat-o a fost doar repetarea acestui proces de adăugare a unu la numărul până când ajungem la 1000000. Cel mai mare beneficiu pe care îl obținem din buclă este că refolosim aceeași bucată de cod, nu trebuie să scriem codul același cod pentru lacuri de date, va executa automat codul până la sfârșit.

Mai jos sunt prezentate câteva puncte din Beneficii

  • Crește reutilizarea codului, ceea ce face ca codul să fie mai mic
  • Calculul mai rapid pentru datele mari, economisind multă muncă manuală
  • Redundanța codului este mai mică.

Un exemplu cu beneficiile sale

Întrebare: tipărire până la 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;
)

Articole recomandate

Acesta a fost un ghid pentru Bucle în PowerShell. Aici discutăm tipuri de bucle în PowerShell împreună cu beneficiile acestora. Și am descoperit că buclele sunt un instrument foarte puternic, cu mai puțin efort pentru a utiliza același cod. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Ce este Shell Scripting?
  2. Funcții șiruri PowerShell
  3. Operatori PowerShell
  4. Comenzi PowerShell
  5. Exemple de Array în PowerShell

Categorie: