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.

instagram viewer

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).

Jak používat pro smyčky v Pythonu

For Loops jsou základní programovací dovedností. Zde se dozvíte, jak je používat v Pythonu.

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Programování
  • Linux
  • Linux
  • Linux Bash Shell
  • Programování
O autorovi
Gaurav Siyal (22 zveřejněných článků)

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.

Více od Gaurava Siyala

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