GNU/Linux >> Znalost Linux >  >> Linux

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

Smyčka for je jedním z hlavních příkazů v různých programovacích jazycích a hodně pomáhá při správě vašeho VPS. Zde vysvětlíme, jak se používá v programovacím jazyce bash – odtud název „bash for loop“. Připravte se na přidání nového nástroje do svého vývojářského arzenálu!

Cyklus for je iterační příkaz, což znamená, že kód můžete spouštět opakovaně. Řekněme, že chcete spustit pokyn 5krát. Místo psaní pěti samostatných kódů stačí napsat syntaxi cyklu for jednou. Pojďme to prozkoumat hlouběji, ano?

Syntaxe Bash pro smyčku

V podstatě nejjednodušší syntaxe cyklu for opakuje výskyt množiny proměnné. Sekvence bash obvykle vypadá takto:

for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done

V reálném světě by tato syntaxe vypadala jako příklad níže:

#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done

Spuštění souboru bash způsobí následující sekvenci:

Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5

Pojďme zkontrolovat každý prvek:

  • #!/bin/bash – ukazuje, že kód je bash skript
  • i – je zástupný symbol pro proměnnou. Mezitím $i je individuální hodnota proměnné. Můžete to také napsat jako c/$c nebo jakýmkoli jiným jménem
  • v – odděluje proměnnou a položky, které následují
  • 1 2 3 4 5 – je příklad položek, na kterých chcete provést instrukci
  • dělat – je klíčové slovo, které spouští smyčky. Poté provede instrukci nkrát, přičemž n je celkový počet položek. Zde je hodnota n 5
  • ozvěte „Dobrý den:$i“ – je kód, který budeme nkrát opakovat. Pamatujte, že uvozovky změní vše, co je uvnitř, na jednu proměnnou.
  • hotovo – zastaví smyčku

Kód můžete napsat odlišně v závislosti na verzi bash, kterou používáte:

Bash verze 3.0+ může zkrátit rozsah pomocí „.. “.

#!/bin/bash
for i in {1..5}
do
  echo "Hai $i"
done

Bash verze 4.0+ vám umožňuje používat {START..END..INCREMENT} syntaxe.

#!/bin/bash
for i in {0..8..2}
do
  echo "Hai $i"
done

Výsledek této bash sekvence bude vypadat takto:

Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8

Další běžné dvě syntaxe příkazů smyčky jsou tyto:

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

A toto:

for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Příklady Bash for Loop

Můžete aktualizovat syntaxi, abyste mohli provádět více operací. Pamatujte, že než něco uděláte, musíte se přihlásit do svého VPS. Pokud máte potíže, tento tutoriál Putty SSH vás navede na správnou cestu. Mezitím, pokud máte problémy s bash, měli byste se podívat na našeho průvodce základní bash funkcí. Pamatujte, že bash funkce musí být v .sh soubor. Chcete-li jej vytvořit, spusťte v příkazovém řádku následující příkaz:

vim NameOfFile.sh

Tím se vytvoří soubor .sh a otevře se v editoru VIM. Více se můžete dozvědět v dříve zmíněném článku o základních funkcích bash.

Použití Bash For Loop k vytvoření nekonečné smyčky

Po aktivaci bude tato smyčka spouštět kód, dokud ji nezastavíte stisknutím kláves Control + C. V tomto případě se výraz „Hello World“ bude sám od sebe znovu objevovat.

#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Použití Bash pro smyčku k vytvoření smyčky se třemi výrazy

Smyčka se skládá ze tří zápisových výrazů – inicializátoru (EXP1 ), podmínka (EXP2 ) a výraz pro počítání (EXP3 ). Někdy tomu lidé říkají smyčka ve stylu C kvůli těsné podobnosti ve struktuře kódu. Syntaxe této smyčky je následující:

for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done

Zde je příklad příkazu smyčky, který si můžete sami vyzkoušet:

#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done

Kód říká, že počáteční hodnota je 1 . Cyklus bude proveden, pokud bude splněna podmínka v EXP2 je true, což znamená, že by nemělo být větší než 5 . Kromě toho ++ znaménko ukazuje, že přírůstek je 1 . Poté zopakuje cyklus jeden po druhém počínaje počáteční hodnotou. Výsledek:

Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Použití Bash pro smyčku k vytvoření smyčky přeskočení a pokračování

Příkaz continue přeskočí smyčku pro uvedenou hodnotu a pokračuje ve smyčce poté. Zde je návod, jak by syntaxe vypadala:

for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done

Dodržením syntaxe můžeme vytvořit příkaz přeskočit bash a pokračovat ve smyčce, jako je tento:

for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done

Výstup pro tuto bash sekvenci by byl:

Hai 1
Hai 2
Hai 3
Hai 5

Od hodnoty 4 odpovídalo příkazu continue, cyklus neprovedl kód a přešel na další hodnotu, což je 5 .

Použití Bash pro smyčku k vytvoření podmíněného ukončení s přerušovací smyčkou

Smyčka umožňuje zastavit operaci, pokud splňuje uvedenou podmínku. Poté může následovat další pokyn. Zde je syntaxe:

for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done

Při použití této funkce by náš příkaz smyčky vypadal takto:

for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'

A výstup:

city: Manila
city: Bangkok
Yes, that’s all!

Příkaz říká smyčce, aby přerušila operaci, jakmile je podmínka pravdivá (vyhledání termínu Jakarta ). Poté spustí druhý kód, což je tisk textu, který říká Ano, to je vše.

Závěr

Bash for loop je skvělý pro automatizaci opakujících se úloh. Kromě výše uvedených základních příkladů toho můžete udělat mnohem víc. Můžete například sledovat soubory a provádět mnoho dalších úkolů. Seznam pokračuje!

Vše, co musíte udělat, je napsat příkazy smyčky. Může to být křivka učení, ale pročíst si tento úvod je dobrý začátek. Cvičení vždy dělá mistra! Hodně štěstí!


Linux
  1. Paralelizovat Bash For Loop?

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

  3. Pomocí a ve smyčce Bash while

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

  2. 12 Bash pro příklady smyček pro vaše skriptování prostředí Linux

  3. Linux bash. pro smyčku a funkci, pro sčítání čísel

  1. Bash deklarovat Příkaz:Syntaxe a příklady

  2. Bash case Syntaxe a příklady

  3. Bash for smyčky Příklady