GNU/Linux >> Znalost Linux >  >> Linux

Bash dokud smyčka

Smyčky jsou jedním ze základních pojmů programovacích jazyků. Smyčky jsou užitečné, když chcete spouštět řadu příkazů znovu a znovu, dokud není splněna určitá podmínka.

Ve skriptovacích jazycích, jako je Bash, jsou smyčky užitečné pro automatizaci opakujících se úloh. Ve skriptování Bash existují 3 základní smyčkové konstrukce, for smyčka, while smyčka a until smyčka.

Tento tutoriál vysvětluje základy until smyčka v Bash.

Bash until Smyčka #

until smyčka se používá k provedení dané sady příkazů, pokud je daná podmínka vyhodnocena jako nepravda.

Bash until smyčka má následující tvar:

until [CONDITION]
do
  [COMMANDS]
done

Podmínka je vyhodnocena před provedením příkazů. Pokud se podmínka vyhodnotí jako nepravda, příkazy se provedou. V opačném případě, pokud se podmínka vyhodnotí jako pravdivá, bude smyčka ukončena a řízení programu bude předáno příkazu, který následuje.

V níže uvedeném příkladu smyčka při každé iteraci vypíše aktuální hodnotu proměnné counter a zvýší proměnnou o jednu.

#!/bin/bash

counter=0

until [ $counter -gt 5 ]
do
  echo Counter: $counter
  ((counter++))
done

Smyčka se opakuje tak dlouho jako counter proměnná má hodnotu větší než čtyři. Skript vytvoří následující výstup:

Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5

Použijte break a continue příkazy pro řízení provádění smyčky.

Bash until Příklad smyčky #

Následující skript může být užitečný, když má váš hostitel git výpadek a místo ručního zadávání git pull několikrát, dokud nebude hostitel online, můžete skript spustit jednou. Pokusí se stáhnout úložiště, dokud to nebude úspěšné.

#!/bin/bash

until git pull &> /dev/null
do
    echo "Waiting for the git host ..."
    sleep 1
done

echo -e "\nThe git repository is pulled."

Skript vypíše „Čekání na hostitele git…“ a sleep po dobu jedné sekundy, dokud hostitel git nepřejde online. Jakmile je úložiště vytaženo, vypíše „Repozitář git je vytažen.“

Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...

The git repository is pulled.

Závěr č.

while a until smyčky jsou si navzájem podobné. Hlavní rozdíl je v tom, že while smyčka se opakuje, dokud se podmínka vyhodnotí jako true a until smyčka se opakuje, dokud je podmínka vyhodnocena jako false .

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Paralelizovat Bash For Loop?

  2. Udržujeme vás ve smyčce – příklady opakování pro, Zatímco, dokud

  3. Bash for smyčky Příklady

  1. Jak napsat smyčku v Bash

  2. Pomocí a ve smyčce Bash while

  3. Nefunguje přírůstek čítače ve smyčce Bash

  1. Bash pro průvodce smyčkou a příklady

  2. Bash Beginner Series #8:Loops in Bash

  3. Příklady Bash for Loop a While Loop