? Jak zrobit hrubý Smokepurpp Type Beat tutorial ?
Obsah:
- Standardní basa pro smyčku
- Smyčka přes řetězce
- Smyčka přes číselný rozsah
- Smyčka přes prvky pole
- Bash pro smyčku ve stylu C.
- Přerušení a pokračování prohlášení
- Prohlášení o přerušení
- Pokračovat v prohlášení
- Bash Příklady smyčky
- Přejmenování souborů s mezerami v názvu souboru
- Změna přípony souboru
- Závěr
Smyčky jsou jedním ze základních konceptů programovacích jazyků. Smyčky jsou užitečné, pokud chcete opakovaně spouštět řadu příkazů, dokud není dosaženo určité podmínky.
Ve skriptovacích jazycích, jako je Bash, jsou smyčky užitečné pro automatizaci opakujících se úkolů.
Existují tři základní konstrukty smyčky v skriptování Bash, pro smyčku, zatímco smyčku a do smyčky.
V tomto tutoriálu se budeme věnovat základům smyček v Bash. Také vám ukážeme, jak používat příkazy break a pokračovat ke změně toku smyčky.
Standardní basa pro smyčku
Smyčka for iteruje seznam položek a provádí danou sadu příkazů.
Bash for loop má následující podobu:
for item in do done
Seznam může být řada řetězců oddělených mezerami, rozsah čísel, výstup příkazu, pole atd.
Smyčka přes řetězce
V níže uvedeném příkladu bude smyčka iterovat každou položku v seznamu řetězců a proměnný
element
bude nastaven na aktuální položku.
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
Smyčka bude produkovat následující výstup:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
Smyčka přes číselný rozsah
Můžete použít sekvenční výraz k určení rozsahu čísel nebo znaků definováním počátečního a koncového bodu rozsahu. Sekvenční výraz má následující podobu:
{START..END}
V příkladu níže bude smyčka iterovat všemi čísly od 0 do 3.
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
Počínaje Bashem 4 je také možné určit přírůstek při použití rozsahů. Výraz má následující podobu:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
Smyčka přes prvky pole
Můžete také použít smyčku for pro iteraci nad řadou prvků:
V níže uvedeném příkladu definujeme pole
BOOKS
a iteraci přes každý prvek pole.
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
Bash pro smyčku ve stylu C.
Syntaxe stylu C pro smyčku má následující podobu:
for ((INITIALIZATION; TEST; STEP)) do done
Část
INITIALIZATION
se provede pouze jednou při spuštění smyčky. Poté je vyhodnocena část
TEST
. Pokud je nepravda, smyčka for je ukončena. Pokud je
TEST
pravdivý, jsou provedeny příkazy uvnitř těla pro smyčku a část
STEP
je aktualizována.
V následujícím kódu smyčka inicializuje
i = 0
, poté před každou iterací zkontroluje, zda
i ≤ 10
. Pokud je true, vytiskne aktuální hodnotu
i
a
i
1 (
i++
), jinak smyčka končí.
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
Smyčka iteruje 1001krát a vytvoří následující výstup:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
Přerušení a pokračování prohlášení
Příkazy break a pokračovat lze použít k řízení provádění smyčky for.
Prohlášení o přerušení
Příkaz break ukončí aktuální smyčku a předá řízení programu příkazu, který následuje po ukončeném příkazu. Obvykle se používá k ukončení smyčky, když je splněna určitá podmínka.
V následujícím příkladu používáme příkaz if k ukončení provádění smyčky, jakmile se aktuální iterovaná položka rovná „Lithium“.
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
Pokračovat v prohlášení
Příkaz pokračovat opustí aktuální iteraci smyčky a předá řízení programu další iteraci smyčky.
V následujícím příkladu provádíme iteraci řadou čísel a když se aktuální iterovaná položka rovná „2“, příkaz pokračování způsobí, že se provádění vrátí na začátek smyčky a bude pokračovat další iterací.
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
Bash Příklady smyčky
Přejmenování souborů s mezerami v názvu souboru
Následující příklad ukazuje, jak pomocí Bash for loop přejmenovat všechny soubory v aktuálním adresáři mezerou v jeho názvech nahrazením mezery podtržítkem.
for file in *\ *; do mv "$file" "${file// /_}" done
Rozdělme si kód po řádku:
- První řádek vytvoří smyčku for a iteruje seznamem všech souborů s mezerou v názvu. Výraz
*\ *
vytvoří seznam. Druhý řádek se vztahuje na každou položku seznamu a přesune soubor do nového, který nahradí mezeru podtržítkem (_
). Část${file// /_}
používá rozšíření shellu k nahrazení vzoru v parametru řetězcem.done
označuje konec segmentu smyčky.
Změna přípony souboru
Následující příklad ukazuje, jak pomocí Bash for loop přejmenovat všechny soubory končící na.jpeg v aktuálním adresáři nahrazením přípony z.jpeg na.jpg.
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
Pojďme analyzovat kód po řádku:
- První řádek vytvoří smyčku for a iteruje seznamem všech souborů končících „.jpeg“. Druhý řádek se vztahuje na každou položku v seznamu a přesune soubor do nového, který nahradí „.jpeg“ za „.jpg“.
${file%.jpeg}
k odstranění části '.jpeg' z názvu souboru pomocí provedeného rozšíření parametru shellu označuje konec segmentu smyčky.
Závěr
Nyní byste měli dobře rozumět tomu, jak použít bash pro smyčku k iteraci seznamy.
terminál bash smyčkyMicrosoft Research Asia hostuje brány v 10 letech Bash

Microsoft Research Asie vzrostla z tuctu lidí v roce 1998 na více než 350 za deset let později.
Jak spustit Bash na Ubuntu v systému Windows 10

Povolení systému Windows Subsystem for Linux vám umožní spustit Bash na Ubuntu v systému Windows 10, Bash skripty , Nástroje pro příkazový řádek Linux, první nástroje pro Linux
Bash pole

Pole jsou jednou z nejpoužívanějších a základních datových struktur. V tomto článku se budeme zabývat Bash poli a vysvětlíme, jak je používat ve vašich Bash skriptech.