Úvod do smyček v PowerShell

Budeme vždy potřebovat smyčky, pokud budeme mít něco, co se opakuje. Ve smyčce spustíme opakovaný kód nebo jakýkoli příkaz. Jeden skutečný příklad, předpokládejme, že ve škole je 20000 studentů, a z nějakého důvodu se univerzita rozhodla dát každému studentovi 5 bodů navíc za zkoušky. Univerzita se proto rozhodla udělit těchto 5 známek každému studentovi kromě těch, jejichž docházka je kratší než 100 dnů. Nyní jen předpokládáte, jak to zaměstnanci udělají, budou muset zkontrolovat známky každého studenta a účast v roce. Ale to samé s pomocí libovolné smyčky to mohlo být provedeno velmi snadno, vytvořením řady studentů s jejich známkami a daty docházky. Díky smyčce jsme schopni ušetřit další úsilí. Podívejme se podrobně na smyčky v PowerShell.

Typy smyček v PowerShell

Existuje mnoho způsobů, jak spustit smyčku v PowerShell, ale vždy to záleží na vašich požadavcích a proveditelnosti programu, například, pokud chcete provést alespoň jednou pro libovolné pole, než bychom měli použít do-while smyčku, jinak existuje smyčka a pro každého, kdo je dobrý .

Druhy a jejich příklady jsou uvedeny níže:

1. Zatímco

Zatímco příkaz bere podmínku jako argument a provedení příkazu uvnitř smyčky while závisí na podmínce, to znamená, že pokud je podmínka úspěšná, provede příkaz jinak, nikoli.

Syntax:

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

Příklad:

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

Níže je obrazovka pro provedení výše uvedeného kódu

2. Proveďte chvíli

Funkce Do while je podobná rozdílu pouze ve smyčce, protože provede alespoň jednou, to znamená, že provede blok poprvé a v případě, že je podmínka splněna. V níže uvedené syntaxi se blok provádí poprvé.

  • Proveďte : Tento blok se provede první a jednou při spuštění provádění.
  • Zatímco : Provedení příkazu 1 a prohlášení 2 zcela závisí na úspěchu podmínky.

Syntax:

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

Příklad č. 1:

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

Příklad č. 2:

V tomto příkladu se blok provede poprvé, i když podmínka nebyla pravdivá.

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

Obrazovka obou programů je zobrazena níže

3. Do dokud

Udělejte, dokud se nebude trochu lišit, než doposud, a to do té doby, než bude provádění pokračovat, dokud se nevrátí negativní výsledek „do bloku“. Dvě věci jsou zde důležité.

  • Proveďte : Tento blok bude pokračovat v provádění, dokud nebude podmínka bloku neúspěšná, což znamená, dokud blok nevrátí zápornou hodnotu.
  • Dokud : Blokovat příkaz 1 a příkaz 2, dokud podmínky nevrátí negativní výsledky.

Syntax:

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

Příklad:

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

V bloku „do do“ vidíme, že provádění do bloku bude pokračovat, dokud podmínka „do bloku“ nevrací kladnou hodnotu.

Níže je obrazovka pro provedení výše uvedeného kódu

4. Pro

Pro příkaz spustí seznam příkazů nula nebo vícekrát na základě počátečního nastavení. V níže uvedené syntaxi for for loop jsou tři důležité oddíly

  • Inicializační sekce : V této sekci byla přiřazena počáteční hodnota libovolné proměnné, tato sekce se spustí poprvé.
  • Podmínka : V kondičních částech píšeme naši podmínku, pro kterou bude spuštěna smyčka, což znamená, že provedení bloku příkazu vždy závisí na úspěchu částí podmínek, pokud je podmínka pravdivá, pak příkazový blok bude vykonán jinak.
  • Operace : V tomto bloku můžeme zvýšit, snížit nebo změnit hodnotu inicializace proměnné nebo jakékoli věci podle našich požadavků.

Syntax:

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

Příklad č. 1:

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

Výstupní obrazovka nad kódem

Mnohokrát jeden pro smyčku nestačí k dokončení našich požadavků, takže můžeme použít vnořené pro smyčky. Měli bychom se pokusit vyhnout se hnízdění smyček, protože jejich časová složitost může být velmi vysoká, pokud nebude správně zacházeno. Níže je uveden příklad vnořené smyčky.

Příklad č. 2:

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

Výstup: 00 11 22

5. Navždy

“Foreach” spouští bloky příkazů po sobě, až do poslední položky pole. Dobré věci o příkazu forEach je, že nemusíme psát žádný samostatný kód, abychom mohli extrahovat celou řadu položek. Obecně „foreach“ je optimalizovaná verze smyčky „for“, která dává vnitřní položku pole bez zápisu žádných programů. Zde jednoduše zkontroluje položku uvnitř pole, na kterém spustíme smyčku „foreach“, pokud tam bude nějaká položka, provede příkazy 1 a 2.

Syntax:

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

Příklad:

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

Pod obrazovkou se zobrazují výše uvedené popravy

Výhody smyček v PowerShell

Největší výhodou použití smyčky je to, že snižuje příliš mnoho manuální práce a je také velmi dobré kontrolovat velkou velikost dat pro podobný typ aktivity na ní. Řekněme, že chci, abyste vytiskli 1 až 1000000 a řekl jsem vám, že můžete přidat 1 ke každému číslu dělitelnému 2, což je sudé číslo. Pokud začnete tisknout jeden po druhém a pokusíte se přidat 1 ke každému sudému číslu, bude to trvat příliš dlouho. Lepším a snadnějším způsobem, jak jste navrhl, bylo pouze opakování tohoto procesu přidávání čísla do čísla, dokud nedosáhneme 10 000 000. Největší výhodou, kterou dostáváme ze smyčky, je, že znovu využíváme stejný kód, nepotřebujeme psát stejný kód pro lakhs dat bude automaticky vykonávat kód až do konce.

Níže uvádíme několik výhod

  • Zvyšte použitelnost kódu, čímž se kód zmenší
  • Rychlejší výpočet velkých dat šetří spoustu manuální práce
  • Redundance kódu je menší.

Příklad s jeho výhodami

Otázka: tisk až 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;
)

Doporučené články

Toto byl průvodce po smyčkách v PowerShell. Zde diskutujeme typy smyček v PowerShell spolu s jejich výhodami. Zjistili jsme, že smyčky jsou velmi výkonným nástrojem s menší snahou použít stejný kód. Další informace naleznete také v následujících článcích -

  1. Co je Shell Scripting?
  2. Funkce řetězce PowerShell
  3. Operátoři PowerShell
  4. Příkazy PowerShell
  5. Příklady pole v PowerShell

Kategorie: