10 skvělých a úžasných příkladů bashových smyček

10 Skvelych A Uzasnych Prikladu Bashovych Smycek



V programovacím jazyce existují především tři typy smyček (for, while a till). Všechny tři typy smyček jsou důležité různými způsoby. Mezi smyčkami while a till není velký rozdíl, ale smyčka for funguje zcela odlišně od těchto dvou. To je důvod, proč můžete tyto smyčky použít k vytváření interaktivních skriptů jako uživatel bash.

Takže učení příkladů bash vám může pomoci zlepšit vaše dovednosti při vytváření skriptů. V tomto tutoriálu tedy zahrneme 10 skvělých a úžasných příkladů bashových smyček, které můžete zkusit vylepšit své skriptovací dovednosti.







10 skvělých a úžasných příkladů bashových smyček

V této části vysvětlíme různé příklady a přístupy, které jsme ve smyčkách použili.



Příkaz Seq se smyčkou v Bash

K vytvoření posloupnosti čísel můžete použít příkaz seq ve smyčce for. Máte například bash skript „File.sh“, který obsahuje následující kód:



#!/bin/bash
pro A v $ ( seq 5 dva 25 )
dělat
echo 'čísla $A jsou'
Hotovo





Po spuštění skriptu v terminálu získáte následující výsledek:

. / soubor.sh




Přejmenujte soubory pomocí smyčky

Pomocí bash skriptu můžete použít smyčky for k přejmenování více souborů. Máte například více souborů .txt a chcete k názvu přidat aktuální datum. Zde je tedy ukázkový skript, který můžete použít:

#!/bin/bash
pro A v $ ( ls * .txt ) ; dělat
mv $A ( základní jméno $A .txt ) _$ ( datum % d % m % ) .txt
Hotovo


Nyní můžete skript spustit a ten změní název všech souborů .txt přidáním aktuálního data:

. / MyFile.sh



Podobně můžete změnit přípony souboru pomocí jediného skriptu. Změňme tedy příponu .txt na .sh pomocí následujícího skriptu:

#!/bin/bash
pro soubor v * .txt; dělat
mv -- ' $soubor ' '{file%.txt}.sh'
Hotovo

Po spuštění skriptu v terminálu získáte soubory .sh spíše než .txt:

. / MyFile.sh


Infinite For Loop in Bash

Pokud ve smyčce není definována žádná ukončovací podmínka, nazývá se nekonečná smyčka. V tomto příkladu smyčky Bash se podíváme na nekonečnou smyčku for v bash. Následující nekonečný cyklus for je definován dvojitým středníkem ( ; ; ) a neobsahuje žádné počáteční, akční ani ukončovací části.

Níže uvedený skript bude pokračovat, dokud nestisknete Ctrl+C nebo jako vstup nezadáte „quit“. Tento skript vytiskne každé číslo od 10 do 50, které je zadáno jako vstup. V opačném případě vypíše „číslo je mimo rozsah“.

#!/bin/bash
#nekonečná smyčka
pro ( ( ; ; ) )
dělat
echo 'Zadejte číslo od 10 do 50'
číst n
-li [ $ n == 'přestat' ]
pak
echo 'ukončeno'
výstup 0
být
-li ( ( $ n < 10 || $ n > padesáti ) )
pak
echo 'Číslo je mimo rozsah'
jiný
echo „Číslo je $ n '
být
Hotovo

Ve výše uvedeném skriptu jsme dali 45 a 23 platných vstupů. Poté vypíšeme 2 jako vstup, který na výstupu řekne, že „číslo je mimo rozsah“. Poté, abychom skript zavřeli, napíšeme jako vstup quit. Zde můžete také stisknutím Ctrl+C ukončit nekonečnou smyčku.

Smyčka tří výrazů v bash

Z názvu smyčky tří výrazů je známo, že obsahuje tři výrazy, nazývané také kontrolní výrazy. První výraz (EXP1) je inicializátor, druhý výraz (EXP2) je test smyčky nebo podmínka a třetí výraz (EXP3) je počítací výraz/krok. Spusťte třívýrazovou smyčku v bash:

#!/bin/bash
pro ( ( n = 5 ; n > = 1 ; n-- ) )
dělat
echo 'Rezervovat $ n '
Hotovo

Po spuštění výše uvedeného skriptu získáte následující výstup.

Smyčka s více podmínkami

V následujícím příkladu bashové smyčky jsme použili smyčku dokud s více podmínkami. V tomto skriptu jsme vzali „m“ a „n“, dvě proměnné, jejichž hodnoty jsou 20 a 10, v tomto pořadí, a ponechali jsme limit 15. Zde jsme dali podmínky „m“ a „n“ dohromady do cyklu, ve kterém bude smyčka probíhat, dokud hodnota „m“ nebude menší než limit a „n“ bude větší než limit.

#!/bin/bash
omezit = patnáct
m = dvacet
n = 10
dokud [ [ $ m -lt $limit || $ n -gt $limit ] ] ;
dělat
echo 'Pokud M = $ m pak N = $ n '
( ( m-- ) )
( ( n++ ) )
Hotovo

Můžete vidět, že spuštění výše uvedeného skriptu poběží, dokud se hodnoty „m“ a „n“ nedostanou na stejnou úroveň.

Přečtěte si soubor v Bash

V bash můžete číst obsah souboru několika způsoby. V tomto příkladu bash smyčky načteme obsah souboru přes název souboru. Ke čtení souboru v bash můžeme použít následující skript:

#!/bin/bash
echo 'Obsah zadaného souboru je:'
zatímco
číst čára
dělat
echo $ line
Hotovo < ~Dokumenty / Linuxhint.txt

Po spuštění výše uvedeného skriptu si můžete přečíst celý obsah zadaného souboru.

Zápis do souboru

Smyčky ve skriptu můžete použít k úpravě souboru přímo z terminálu. Pokud máme například soubor txt „Example.txt“ a chceme přidat nějaké informace, můžeme použít následující skript:


Pokud spustíte výše uvedený skript, požádá vás o zadání podrobností:


Jakmile zadáte podrobnosti, prosím CTRL + D pro uložení souboru a CTRL + Z pro úspěšné dokončení procesu.

Smyčka příkazů Break and Continue v Bash

V bash můžete pokračovat v příkazu smyčky po přerušení. Příkaz break opustí smyčku a poté předá řízení dalšímu danému příkazu. Iterace číslo dvě začíná poté, co je aktuální iterace přeskočena se stejným příkazem continue.

#!/bin/bash
na jednom = 16
dokud Nepravdivé
dělat
( ( na jednom-- ) )
-li [ [ $num -ekv 13 ] ]
pak
pokračovat
elif [ [ $num - 4 ] ]
pak
přestávka
být
echo 'LinuxHint= $num '
Hotovo

V následujícím bash skriptu můžete vidět, že když se „num“ rovná 13, přeskočí zbytek těla smyčky a přeskočí na další iteraci. Podobně se smyčka přeruší, když je „num“ menší nebo rovno 4.


Výše uvedený skript ukazuje, že smyčka začíná na 15, přeruší se na 13 a pokračuje do 5.

Výpočet průměru v Bash

Průměr můžete vypočítat spuštěním skriptu ve smyčce bash. V tomto může uživatel vypočítat průměr čísel v definovaném rozsahu. Následující skript vypočítá průměr ze vstupu poskytnutého uživatelem.

#!/bin/bash
značky = '0'
PRŮMĚRNÝ = '0'
SOUČET = '500'
NA JEDNOU = '5'
zatímco skutečný ; dělat
echo -n 'Zadejte své značky nebo stiskněte 'q' pro zrušení' ; číst značky;
-li ( ( ' $marks ' < '0' ) ) || ( ( ' $marks ' > '100' ) ) ; pak
echo 'Zadejte prosím své známky'
elif [ ' $marks ' == 'q' ] ; pak
echo 'průměrné známky jsou: $PRŮMĚR %'
přestávka
jiný
SOUČET = $ [ SOUČET $ + $marks ]
NA JEDNOU = $ [ NUM $ + 1 ]
PRŮMĚRNÝ = $ [ SOUČET $ / NUM $ ]
být
Hotovo

Pokud vstup není v rozsahu, vytiskne se zpráva „Zadejte prosím své značky“. Když uživatel po zadání všech značek stiskne „q“, skript vypočítá přibližný průměr všech zadaných čísel.

Po spuštění výše uvedeného skriptu bude váš výstup vypadat nějak takto.

Přečtěte si argumenty příkazového řádku v Bash

V bash můžete číst jednotlivé argumenty příkazového řádku pomocí smyček. Skript vytiskne formátované hodnoty argumentů. Argumenty příkazového řádku v bash spouštíme pomocí smyčky while v následujícím skriptu. Tímto způsobem pomocí jediného příkazu vytisknete hodnotu, která předá možnost argument value valid.

#!/bin/bash
zatímco getopts N:F:M: OPT
dělat
případ ' ${OPT} '
v
N ) název = ${OPTARG} ;;
F ) jméno otce = ${OPTARG} ;;
M ) mateřské jméno = ${OPTARG} ;;
* ) echo 'Neplatný'
výstup 1 ;;
esac
Hotovo
printf 'Název: $jméno \n Jméno otce: $fathername \n Jméno matky: $mothername \n '

Formátované hodnoty argumentů tedy můžete vytisknout na výstup spuštěním výše uvedeného skriptu v bash.

Zabalit se

Takže toto byly stručné informace o 10 skvělých a úžasných příkladech bashových smyček, které se můžete naučit. Pro snadné vytvoření interaktivního skriptu jsme použili různé typy smyček. Kromě toho jsme také vysvětlili základní přístupy použité ve výše uvedených příkladech. Pokud máte podrobné podrobnosti o smyčkách v bash, navštivte naše oficiální webové stránky, kde se dozvíte více.