Looping je přirozené umění, které vám může zjednodušit práci a pomoci vám relativně snadno automatizovat opakující se úkoly.
Představte si situaci, kdy potřebujete aktualizovat řadu čísel nebo textu, a místo ručního provádění to systém udělá za vás. To je síla smyčkování a výhody, které vám přináší.
Smyčky jako funkce jsou dostupné téměř v každém programovacím jazyce; Linux's Bash není výjimkou z tohoto pravidla.
Zde je průvodce vysvětlující, jak můžete použít smyčku for ve skriptu shellu.
Struktura smyčky for
Použití cyklu for ve skriptech shellu je poměrně jednoduché a můžete manipulovat se strukturou, abyste dosáhli různých cílů.
Základní struktura je následující:
pro položku v [LIST]
dělat
[PŘÍKAZY]
Hotovo
Pomocí smyčky můžete procházet číselnými a znakovými hodnotami v závislosti na potřebě hodiny.
Příbuzný:Jak používat smyčky v JavaScriptu
Zde je struktura cyklu for ve skriptu shellu:
pro VARIABILNÍ v 1 2 3 4 5.. N
dělat
příkaz1
příkaz2
příkazN
Hotovo
V prvním řádku můžete definovat počet iterací. Tímto způsobem uvedete počáteční hodnotu a konečnou hodnotu.
Počet iterací je určen vámi zadanými hodnotami, zatímco kód následující za dělat je výsledná hodnota cyklu.
Vytváření a spouštění pro smyčky v Linux Bash
Otevřete terminál Linux a začněte psát kód.
Pro uložení skriptu shellu se používá textový editor, který po spuštění vytiskne požadované výsledky. Pro účely ilustrace jsou příkazy v této příručce napsány v Nano textový editor.
Typ nano v příkazovém řádku terminálu otevřete textový editor, za kterým následuje název skriptu shellu.
nano ForLoops.sh
Název skriptu shellu můžete změnit na jakýkoli. Rozšíření je sh, protože budete ukládat skript shellu.
Tisk celých čísel pomocí pro smyčky
V této části budou následující kódy demonstrovat, jak můžete jinak tisknout celočíselné hodnoty. Chcete-li použít smyčku for ve skriptu shellu k tisku celých čísel, můžete vyzkoušet některé z těchto příkladů kódu.
1. Kód smyčky pro tisk sady čísel
Jakmile se editor otevře, je čas napsat kód.
#!/usr/bin/bash
pro já v 1 2 3
dělat
echo "Aktuální # $i"
Hotovo
Výstup:
Kde:
- i = název proměnné pro uložení iterovaných hodnot
- 1 2 3 = počet opakování cyklu for ve skriptu shellu
- dělat = příkaz k provedení určitého souboru akcí
- echo = tisk výsledků definovaných vedle
- Hotovo = konec smyčky
Uložte kód v textovém editoru stisknutím Ctrl + X. Uložte a ukončete skript.
Příbuzný: Jak používat smyčky For, While a Do While v Javě s příklady
Před spuštěním kódu musíte změnit oprávnění skriptu shellu.
Vstupte chmod +x následovaný názvem souboru skriptu shellu:
chmod +x Forloops.sh
Jakmile jsou oprávnění udělena, spusťte cyklus for ve vašem skriptu shell zadáním následujícího:
./Forloops.sh
Výstup se vytiskne v okně terminálu.
2. Alternativní způsob tisku sady čísel
Existují alternativní způsoby, jak definovat smyčku for ve skriptu shellu. Můžete také určit počáteční a koncovou hodnotu iterací smyčky pomocí složených závorek.
Zde je struktura kódu:
for i v {1..3} # cyklus for definuje proměnnou a kolik iterací chcete v cyklu provést
dělat
echo "Aktuální # $i: Příklad 2"
Hotovo
Cyklus se spustí třikrát a hodnoty se vytisknou následujícím způsobem:
3. Kód smyčky pomocí hodnot kroku
Můžete definovat hodnoty kroku ve vaší smyčce, pokud chcete procházet iteracemi nesekvenčně. V závislosti na zadané hodnotě bude mít výstup pevnou mezeru.
Například:
pro i v {1..10..2}
dělat
echo "Číslo = $i"
Hotovo
Kde:
- i = proměnná pro uložení iterací
- 1..10 = počet iterací pro spuštění smyčky
- 2 = hodnota kroku
- dělat = příkaz pro tisk výstupu
- echo = příkaz k tisku
- Hotovo = příkaz ukončení smyčky
Výstup:
Výstup má rozdíl dvě, který byl zadán v příkazu step.
Tisk hodnot znaků pomocí pro smyčky
Smyčky for ve skriptování shellu nejsou omezeny pouze na celá čísla. V Bash můžete použít cyklus for k efektivnímu procházení znaků a řetězcových hodnot.
1. Smyčka přes řetězce
Zde je základní příklad toho, jak můžete procházet některé hodnoty řetězce (definované v příkazu for):
pro jméno v John Jack Mary
dělat
echo "Jmenuji se $name"
Hotovo
Kde:
- název = proměnná pro uložení hodnot řetězce
- dělat = příkaz pro tisk výstupu
- echo = příkaz k tisku
- Hotovo = příkaz ukončení smyčky
Výstup:
Tato smyčka for se bude opakovat třikrát, jak jen existují tři hodnoty řetězce uvedené v pro tvrzení.
2. Procházení řetězců s podmínkami
Co když chcete předat nějaké logické podmínky pro ukončení smyčky uprostřed? Pro tento účel můžete použít logické příkazy, jako je LI tvrzení. Příkaz IF řídí, jak bude smyčka fungovat a jaký výstup se jako výsledek vytiskne.
pro prvek ve vodíku Helium Lithium Berylium; dělat
if [[ "$element" == 'Lithium' ]]; pak
přestávka
fi
echo "Prvek: $element"
Hotovo
echo 'Vše hotovo!'
Příbuzný:Jak používat smyčky se seznamy v PythonuJakmile se hodnota prvku rovná Lithiu, smyčka se ukončí a vytiskne se výstup. Cyklus běží, dokud podmínka již není splněna.
Protože Lithium je třetí v seznamu hodnot, smyčka poběží dvě iterace, než vytiskne konečný výstup Vše hotovo!.
Spuštění smyček v Linux Bash
Smyčky jsou nezbytnou součástí struktury linuxového shellu, která může výrazně zlepšit funkci linuxových skriptů.
Pokud musíte tisknout opakující se výstupy, není nic lepšího než smyčky v Bash skriptech. Jak jsme již zmínili, smyčky jsou dostupné téměř ve všech programovacích jazycích a Python není výjimkou. Vystřihněte opakování a žijte podle kódu DRY (Don't Repeat Yourself).
For Loops jsou základní programovací dovedností. Zde se dozvíte, jak je používat v Pythonu.
Přečtěte si další
- Programování
- Linux
- Linux
- Linux Bash Shell
- Programování
Gaurav Siyal má dva roky zkušeností s psaním, psaním pro řadu digitálních marketingových firem a dokumentů životního cyklu softwaru.
Přihlaste se k odběru našeho newsletteru
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!
Chcete-li se přihlásit k odběru, klikněte sem