Cyklické príkazy v skriptovaní Shell: Existujú celkom 3 slučkové príkazy, ktoré možno použiť v programovaní bash
Obsah
- príkaz `while` v skripte Shell v systéme Linux
- príkaz `for` v skripte Shell v systéme Linux
- príkaz `až do` v skripte Shell v systéme Linux
- Príklady cyklických príkazov
Na zmenu toku príkazov cyklu sa používajú dva príkazy,
- prestávka
- ďalej
Ich popis a syntax sú nasledovné:
príkaz `while` v skripte Shell v systéme Linux
Tu sa príkaz vyhodnotí a na základe výsledného cyklu sa vykoná, ak sa príkaz zvýši na hodnotu false, cyklus sa ukončí že.
#/bin/bash while do done>
Implementácia slučky „While“ v skripte Shell.
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame editor `vim`.
vim looping.sh>
Súbor looping.sh môžete nahradiť požadovaným názvom.
java zoznam
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x looping.sh>
#/bin/bash
a=0
# Je menej ako operátor
# Opakujte slučku, kým nebude menej ako 10
zatiaľ čo [ $a -lt 10 ]
robiť
# Vytlačte hodnoty
echo $a
# zvýšenie hodnoty
a=`výraz $a + 1`
hotový
Výkon:

Kým Loop v Linuxe
Vysvetlenie:
-
#/bin/bash>: Určuje, že skript by sa mal interpretovať pomocou shellu Bash. -
a=0>: Inicializuje premennúa>s hodnotou 0. -
while [ $a -lt 10 ]>: Spustí cyklus while, ktorý pokračuje tak dlho, ako je hodnotaa>je menej ako 10. -
do>: Označuje začiatok tela slučky. -
echo $a>: Vytlačí aktuálnu hodnotua>konzoly. -
a=>expr $a + 1 : Zvyšuje hodnotua>od 1. Theexpr>príkaz sa používa pre aritmetické výrazy. -
done>: Označuje koniec slučky.
príkaz `for` v skripte Shell v systéme Linux
Cyklus for funguje so zoznamami položiek. Opakuje súbor príkazov pre každú položku v zozname.
Tu je var názov premennej a slovo1 až slovoN sú sekvencie znakov oddelené medzerami (slovami). Pri každom spustení cyklu for sa hodnota premennej var nastaví na ďalšie slovo v zozname slov, slovo1 až slovoN.
Syntax:
#/bin/bash for in do done>
Implementácia slučky `for` s príkazom `break` v skripte Shell.
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame editor `vim`.
vim for.sh>
For.sh môžete nahradiť požadovaným názvom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x for.sh>
#/bin/bash
#Začiatok cyklu for
za 1 2 3 4 5 6 7 8 9 10
robiť# ak sa a rovná 5, prerušte slučku
ak [ $a == 5 ]
potom
prestávka
byť# Vytlačte hodnotu
echo Iterácia nie $a
hotový
Výkon:

Break statement in for Loop in linux
np.klip
Vysvetlenie:
#/bin/bash>: Určuje, že skript by sa mal interpretovať pomocou shellu Bash.for a in 1 2 3 4 5 6 7 8 9 10>: Spustí cyklus for, ktorý iteruje cez hodnoty 1 až 10, pričom každú hodnotu priradí premenneja>v každej iterácii.do>: Označuje začiatok tela slučky.if [ $a == 5 ]>: Skontroluje aktuálnu hodnotua>sa rovná 5.then>: Označí začiatok podmieneného bloku, ktorý sa má vykonať, ak je podmienka pravdivá.break>: Opustí cyklus, ak je podmienka pravdivá.
fi>: Označuje koniec podmieneného bloku.
echo 'Iteration no $a'>: Vytlačí správu s číslom aktuálnej iterácie.done>: Označuje koniec slučky.
Skript nastaví cyklus for, ktorý iteruje cez hodnoty 1 až 10. Počas každej iterácie kontroluje, či hodnotaa>sa rovná 5. Ak je, slučka sa ukončí pomocoubreak>vyhlásenie. V opačnom prípade vytlačí správu s číslom aktuálnej iterácie. Cyklus pokračuje, kým nedokončí všetky iterácie alebo kým nenarazí na príkaz break.
Implementácia slučky `for` s príkazom `continue` v skripte Shell.
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame editor `vim`.
vim for_continue.sh>
For_continue.sh môžete nahradiť požadovaným názvom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x for_continue.sh>
#/bin/bash
za 1 2 3 4 5 6 7 8 9 10
robiť# ak a = 5, potom pokračujte v slučke a
#nepresúvajte sa na riadok 8ak [ $a == 5 ]
potom
ďalej
byť
echo Iterácia nie $a
hotový
Výkon:

pokračovať príkazom v slučke for v systéme Linux
Vysvetlenie:
uzol zoznamu java
-
#/bin/bash>: Určuje, že skript by sa mal interpretovať pomocou shellu Bash. -
for a in 1 2 3 4 5 6 7 8 9 10>: Spustí cyklus for, ktorý iteruje cez hodnoty 1 až 10, pričom každú hodnotu priradí premenneja>v každej iterácii. -
do>: Označuje začiatok tela slučky. -
if [ $a == 5 ]>: Skontroluje aktuálnu hodnotua>sa rovná 5.-
then>: Označí začiatok podmieneného bloku, ktorý sa má vykonať, ak je podmienka pravdivá.-
continue>: Preskočí zvyšok tela cyklu a prejde na ďalšiu iteráciu, ak je podmienka pravdivá.
-
-
fi>: Označuje koniec podmieneného bloku.
-
-
echo 'Iteration no $a'>: Vytlačí správu s číslom aktuálnej iterácie. Tento riadok sa preskočí, aka>sa rovná 5 kvôlicontinue>vyhlásenie. -
done>: Označuje koniec slučky.
Skript nastaví cyklus for, ktorý iteruje cez hodnoty 1 až 10. Počas každej iterácie kontroluje, či hodnotaa>sa rovná 5. Ak áno, cyklus pokračuje do ďalšej iterácie bez vykonania zostávajúcich príkazov v tele cyklu. V opačnom prípade vytlačí správu s číslom aktuálnej iterácie. Cyklus pokračuje, kým nedokončí všetky iterácie.
príkaz `až do` v skripte Shell v systéme Linux
Cyklus do sa vykoná toľkokrát, koľkokrát sa podmienka/príkaz vyhodnotí ako nepravda. Cyklus sa ukončí, keď sa podmienka/príkaz stane pravdivým.
Syntax:
#/bin/bash until do done>
Implementácia `until` Loop v Shell Scrip
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame editor `vim`.
vim until.sh>
Môžete nahradiť do. sh s požadovaným menom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x until.sh>
#/bin/bash
a=0
# -gt je väčšie ako operátor
#Opakujte slučku, kým a nebude väčšie ako 10do [ $a -gt 10]
robiť# Vytlačte hodnoty
echo $a# zvýšenie hodnoty
a=`výraz $a + 1`
hotový
Výkon:

Až do slučky v Linuxe
Vysvetlenie:
-
#/bin/bash>: Určuje, že skript by sa mal interpretovať pomocou shellu Bash. -
a=0>: Inicializuje premennúa>s hodnotou 0. -
until [ $a -gt 10 ]>: Spustí cyklus do, ktorý pokračuje tak dlho, ako je hodnotaa>nie je väčšie ako 10. -
do>: Označuje začiatok tela slučky. -
echo $a>: Vytlačí aktuálnu hodnotua>konzoly. -
a=>expr $a + 1 : Zvyšuje hodnotua>od 1. Theexpr>príkaz sa používa pre aritmetické výrazy. -
done>: Označuje koniec slučky.
Poznámka: Shell skriptovanie je jazyk citlivý na malé a veľké písmená, čo znamená, že pri písaní skriptov je potrebné dodržiavať správnu syntax.
Príklady cyklických príkazov
1. Iterácia farieb pomocou slučky For
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame editor `vim`.
vim color.sh>
Color.sh môžete nahradiť požadovaným názvom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
entitný vzťahový
chmod +x color.sh>
#/bin/bash
COLORS=červená zelená modrá
# cyklus for pokračuje, kým neprečíta všetky hodnoty z COLORS
pre COLOR v $COLORS
robiť
echo COLOR: $COLOR
hotový
Výkon:

Kým v Linuxe
Vysvetlenie:
- Inicializácia farieb:
COLORS='red green blue'>: Inicializuje premennú s názvomCOLORS>so zoznamom hodnôt farieb oddelených medzerami (červená, zelená a modrá).
- Pre opakovanie slučky:
for COLOR in $COLORS>: Iniciuje cyklus for, ktorý iteruje každú hodnotu vCOLORS>premenlivý.- Telo slučky:
echo 'COLOR: $COLOR'>: Vytlačí správu pre každú farbu so zobrazením aktuálnej hodnoty farby.
- Telo slučky:
- Cyklus pokračuje, kým nespracuje všetky hodnoty prítomné v súbore
COLORS>premenlivý.
Tento príklad demonštruje jednoduchú slučku for v Bash, iteruje cez zoznam farieb uložených vCOLORS>premenlivý. Slučka vytlačí správu pre každú farbu, ktorá označuje aktuálnu spracovávanú farbu. Cyklus sa opakuje, kým sa nevyčerpajú všetky hodnoty farieb.
2. Vytvorenie nekonečnej slučky s while true v skripte Shell
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame `vim`editor.
vim infinite.sh>
Infinite.sh môžete nahradiť požadovaným názvom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x infinite.sh>
#/bin/bash
zatiaľ čo pravda
robiť# Príkaz, ktorý sa má vykonať
# spánok 1 znamená, že spí na 1 sekundu
echo Ahoj, som nekonečná slučka
spánok 1
hotový
Výkon:

nekonečná slučka v linuxe
Vysvetlenie:
Štruktúra nekonečnej slučky:
while true>: Iniciuje cyklus while, ktorý pokračuje donekonečna ako podmienkatrue>je vždy pravda.- Telo slučky:
echo 'Hi, I am infinity loop'>: Vytlačí správu označujúcu, že skript je v nekonečnej slučke.sleep 1>: Pozastaví vykonávanie cyklu na 1 sekundu pred ďalšou iteráciou.
- Telo slučky:
- Cyklus pokračuje donekonečna, pričom príkazy vo svojom tele vykonáva opakovane.
Tento príklad ukazuje vytvorenie nekonečnej slučky pomocou konštrukcie while true v Bash. Slučka nepretržite tlačí správu označujúcu jej stav ako nekonečnej slučky a zahŕňa príkaz spánku 1, čo spôsobuje jednosekundové oneskorenie medzi iteráciami. Nekonečné cykly sa často používajú pre procesy, ktoré musia bežať nepretržite, kým sa manuálne neprerušia.
heapify triediť
3. Interaktívna slučka na potvrdenie názvu
Najprv vytvoríme súbor pomocou textového editora v Linuxe. V tomto prípade používame `vim`editor.
vim name.sh>
Názov.sh môžete nahradiť požadovaným názvom.
Potom spravíme náš skript spustiteľným pomocou príkazu `chmod` v Linuxe.
chmod +x name.sh>
#/bin/bash
SPRÁVNE=n
zatiaľ čo [ $SPRÁVNE == n ]
robiť# slučka sa preruší, keď zadáte y, t.j. keď je vaše meno správne
# -p znamená prompt s požiadavkou na zadanieread -p Zadajte svoje meno: MENO
read -p Je ${NAME} správne? SPRÁVNE
hotový
Výkon:

Interaktívny skript v Linuxe
Vysvetlenie:
- Inicializácia:
CORRECT=n>: Inicializuje premennú s názvomCORRECT>s hodnotou n. Táto premenná sa používa na riadenie slučky.
- Interaktívna slučka:
while [ '$CORRECT' == 'n' ]>: Spustí cyklus while, ktorý pokračuje tak dlho, ako je hodnotaCORRECT>sa rovná n.- Telo slučky:
read -p 'Enter your name:' NAME>: Vyzve užívateľa, aby zadal svoje meno a uloží vstup doNAME>premenlivý.read -p 'Is ${NAME} correct? ' CORRECT>: Požiada používateľa, aby potvrdil, či je zadaný názov správny, a aktualizuje hoCORRECT>podľa toho variabilné.
- Telo slučky:
- Cyklus pokračuje, kým používateľ nezadá y (označuje správny názov).
Tento príklad demonštruje interaktívnu slučku, ktorá vyzve používateľa, aby zadal svoje meno, a potom požiada o potvrdenie. Cyklus pokračuje, kým používateľ nepotvrdí správnosť zadaného názvu zadaním y. Slučka využíva ` read> `>príkaz pre vstup používateľa a aktualizuje súbor ` CORRECT> `>premenná na riadenie toku slučky.
Záver
V tomto článku sme diskutovali o slučkových príkazoch v skriptovaní Bash, ktoré pokrývajúwhile>,for>, auntil>slučky. Uvádza použitiebreak>acontinue>príkazy na úpravu správania slučky. Praktické príklady ilustrujú implementáciu slučiek, vrátane iterovania hodnôt farieb, vytvárania nekonečných slučiek a budovania interaktívnej slučky na overenie používateľského vstupu. Sprievodca ponúka stručný, ale informatívny zdroj na pochopenie a využitie konštrukcií cyklovania v skriptovaní Bash.