10 skvelých a úžasných príkladov bashovej slučky

10 Skvelych A Uzasnych Prikladov Bashovej Slucky



V programovacom jazyku existujú hlavne tri typy slučiek (for, while a till). Všetky tri typy slučiek sú dôležité rôznymi spôsobmi. Medzi slučkami while a till nie je veľký rozdiel, ale cyklus for funguje úplne inak ako tieto dva. Preto môžete tieto slučky použiť na vytváranie interaktívnych skriptov ako používateľ bash.

Učenie príkladov bash vám teda môže pomôcť zlepšiť vaše zručnosti pri vytváraní skriptov. Takže v tomto návode zahrnieme 10 skvelých a úžasných príkladov bashových slučiek, ktoré môžete skúsiť vylepšiť svoje skriptovacie schopnosti.







10 skvelých a úžasných príkladov bashovej slučky

V tejto časti vysvetlíme rôzne príklady a prístupy, ktoré sme použili v slučkách.



Príkaz Seq so slučkou v Bash

Na vytvorenie postupnosti čísel môžete použiť príkaz seq v slučke for. Napríklad máte bash skript „File.sh“, ktorý obsahuje nasledujúci kód:



#!/bin/bash
pre A v $ ( nasl 5 dva 25 )
robiť
ozvena 'počet $A sú'
hotový





Po vykonaní skriptu v termináli získate nasledujúci výsledok:

. / súbor.sh




Premenujte súbory pomocou slučky

Pomocou bash skriptu môžete použiť slučky for na premenovanie viacerých súborov. Napríklad máte viacero súborov .txt a chcete k názvu pridať aktuálny dátum. Takže tu je príklad skriptu, ktorý môžete použiť:

#!/bin/bash
pre A v $ ( ls * .TXT ) ; robiť
mv $A ( základné meno $A .TXT ) _$ ( dátum % d % m % ) .TXT
hotový


Teraz môžete spustiť skript a zmení názov všetkých súborov .txt pridaním aktuálneho dátumu:

. / MyFile.sh



Podobne môžete zmeniť prípony súboru pomocou jedného skriptu. Zmeňme teda príponu .txt na .sh pomocou nasledujúceho skriptu:

#!/bin/bash
pre súbor v * .TXT; robiť
mv -- ' $file ' '{file%.txt}.sh'
hotový

Po spustení skriptu v termináli získate súbory .sh namiesto .txt:

. / MyFile.sh


Infinite For Loop in Bash

Keď v slučke nie je definovaná žiadna podmienka ukončenia, nazýva sa to nekonečná slučka. V tomto príklade Bashovej slučky sa pozrieme na nekonečnú forovú slučku v bash. Nasledujúci nekonečný cyklus for je definovaný dvojitou bodkočiarkou ( ; ; ) a neobsahuje žiadne počiatočné, akčné ani ukončovacie časti.

Nižšie uvedený skript bude pokračovať, kým nestlačíte Ctrl+C alebo nezadáte „quit“ ako vstup. Tento skript vypíše každé číslo od 10 do 50, ktoré je zadané ako vstup. V opačnom prípade sa vypíše „číslo je mimo rozsahu“.

#!/bin/bash
#nekonečná slučka
pre ( ( ; ; ) )
robiť
ozvena 'Zadajte číslo od 10 do 50'
čítať n
ak [ $ n == 'prestať' ]
potom
ozvena 'ukončený'
VÝCHOD 0
byť
ak ( ( $ n < 10 || $ n > päťdesiat ) )
potom
ozvena 'Číslo je mimo rozsahu'
inak
ozvena „Číslo je $ n '
byť
hotový

Vo vyššie uvedenom skripte sme dali 45 a 23 platných vstupov. Potom vytlačíme 2 ako vstup, ktorý na výstupe povie, že „číslo je mimo rozsahu“. Potom na zatvorenie skriptu napíšeme quit ako vstup. Tu môžete tiež stlačiť Ctrl+C a ukončiť nekonečnú slučku.

Trojvýrazová slučka v bashu

Z názvu trojvýrazovej slučky je známe, že obsahuje tri výrazy, nazývané aj riadiace výrazy. Prvý výraz (EXP1) je inicializátor, druhý výraz (EXP2) je test slučky alebo podmienka a tretí výraz (EXP3) je počítací výraz/krok. Spustíme trojvýrazovú slučku v bash:

#!/bin/bash
pre ( ( n = 5 ; n > = 1 ; n-- ) )
robiť
ozvena „Kniha $ n '
hotový

Po spustení vyššie uvedeného skriptu získate nasledujúci výstup.

Slučka s viacerými podmienkami

V nasledujúcom príklade bashovej slučky sme použili cyklus till s viacerými podmienkami. V tomto skripte sme vzali „m“ a „n“, dve premenné, ktorých hodnoty sú 20 a 10, v uvedenom poradí, a ponechali sme limit 15. Tu sme do cyklu spojili podmienky „m“ a „n“, v ktorom bude cyklus prebiehať, kým hodnota „m“ nebude menšia ako limit a „n“ bude väčšia ako limit.

#!/bin/bash
limit = pätnásť
m = dvadsať
n = 10
kým [ [ $ m -lt $limit || $ n -gt $limit ] ] ;
robiť
ozvena 'Ak M = $ m potom N = $ n '
( ( m-- ) )
( ( n++ ) )
hotový

Môžete vidieť, že spustenie vyššie uvedeného skriptu bude bežať, kým sa hodnoty „m“ a „n“ nedostanú na rovnakú úroveň.

Prečítajte si súbor v Bash

V bash môžete čítať obsah súboru niekoľkými spôsobmi. V tomto príklade bashovej slučky prečítame obsah súboru cez názov súboru. Na čítanie súboru v bash môžeme použiť nasledujúci skript:

#!/bin/bash
ozvena 'Obsah zadaného súboru je:'
zatiaľ čo
čítať riadok
robiť
ozvena $line
hotový < ~Dokumenty / Linuxhint.txt

Po spustení vyššie uvedeného skriptu si môžete prečítať celý obsah zadaného súboru.

Zápis do súboru

Slučky v skripte môžete použiť na úpravu súboru priamo z terminálu. Napríklad, ak máme súbor txt „Example.txt“ a chceme pridať nejaké informácie, môžeme použiť nasledujúci skript:


Ak spustíte vyššie uvedený skript, požiada vás o zadanie podrobností:


Po zadaní podrobností stlačte CTRL + D na uloženie súboru a CTRL + Z na úspešné dokončenie procesu.

Slučka príkazov Break and Continue in Bash

V bash môžete pokračovať v príkaze cyklu po prestávke. Príkaz break opustí cyklus a potom odovzdá riadenie ďalšiemu danému príkazu. Iterácia číslo dva začína po preskočení aktuálnej iterácie s rovnakým príkazom continue.

#!/bin/bash
na jeden = 16
kým falošný
robiť
( ( na jeden-- ) )
ak [ [ $num -ekv 13 ] ]
potom
ďalej
elif [ [ $num - 4 ] ]
potom
prestávka
byť
ozvena 'LinuxHint= $num '
hotový

V nasledujúcom bash skripte môžete vidieť, že keď sa „num“ rovná 13, preskočí zvyšok tela slučky a preskočí na ďalšiu iteráciu. Podobne sa slučka preruší, keď je „num“ menšie alebo rovné 4.


Vyššie uvedený skript ukazuje, že cyklus začína na 15, preruší sa na 13 a pokračuje do 5.

Výpočet priemeru v Bash

Priemer môžete vypočítať spustením skriptu v bashovej slučke. V tomto môže používateľ vypočítať priemer čísel v definovanom rozsahu. Nasledujúci skript vypočíta priemernú hodnotu vstupu poskytnutého používateľom.

#!/bin/bash
známky = '0'
PRIEMERNÝ = '0'
SUM = '500'
NA JEDEN = '5'
zatiaľ čo pravda ; robiť
ozvena -n 'Zadajte svoje značky alebo stlačte 'q' pre prerušenie' ; čítať známky;
ak ( ( ' $marks ' < '0' ) ) || ( ( ' $marks ' > '100' ) ) ; potom
ozvena 'Prosím, zadajte svoje známky'
elif [ ' $marks ' == 'q' ] ; potom
ozvena 'Priemerné známky sú: $ PRIEMER %'
prestávka
inak
SUM = $ [ $SUM + $marks ]
NA JEDEN = $ [ NUM + 1 ]
PRIEMERNÝ = $ [ $SUM / NUM ]
byť
hotový

Ak vstup nie je v rozsahu, vytlačí sa správa „Zadajte svoje značky“. Keď používateľ po zadaní všetkých značiek stlačí „q“, skript vypočíta približný priemer všetkých zadaných čísel.

Po spustení vyššie uvedeného skriptu bude váš výstup vyzerať takto.

Prečítajte si argumenty príkazového riadka v Bash

V bash môžete čítať jednotlivé argumenty príkazového riadku pomocou slučiek. Skript vytlačí naformátované hodnoty argumentov. Argumenty príkazového riadku spúšťame v bash pomocou while cyklu v nasledujúcom skripte. Prostredníctvom toho vytlačíte hodnotu, ktorá prechádza cez možnosť argument value valid pomocou jediného príkazu.

#!/bin/bash
zatiaľ čo getopts N:F:M: OPT
robiť
prípad ' ${OPT} '
v
N ) názov = ${OPTARG} ;;
F ) otcovské meno = ${OPTARG} ;;
M ) materské meno = ${OPTARG} ;;
* ) ozvena 'neplatné'
VÝCHOD 1 ;;
esac
hotový
printf 'Názov: $name \n Meno otca: $fathername \n Meno matky: $mothername \n '

Formátované hodnoty argumentov teda môžete vytlačiť na výstup spustením vyššie uvedeného skriptu v bash.

Zabaliť sa

Takže toto boli stručné informácie o 10 skvelých a úžasných príkladoch bashových slučiek, ktoré sa môžete naučiť. Na jednoduché vytvorenie interaktívneho skriptu sme použili rôzne typy slučiek. Okrem toho sme tiež vysvetlili základné prístupy použité vo vyššie uvedených príkladoch. Ak máte podrobné informácie o slučkách v bash, navštívte našu oficiálnu webovú stránku, kde sa dozviete viac.