Declarații de buclă în scripting Shell: Există un total de 3 instrucțiuni în buclă care pot fi folosite în programarea bash
Cuprins
- Instrucțiunea `while` în Scriptul Shell în Linux
- Instrucțiunea `for` în Scriptul Shell în Linux
- Instrucțiunea `până` în Shell Script în Linux
- Exemple de instrucțiuni în buclă
Pentru a modifica fluxul instrucțiunilor buclei, sunt utilizate două comenzi, acestea sunt,
- pauză
- continua
Descrierile și sintaxa lor sunt următoarele:
Instrucțiunea `while` în Scriptul Shell în Linux
Aici comanda este evaluată și pe baza buclei rezultate se va executa, dacă comanda este ridicată la fals, bucla se va termina acea.
#/bin/bash while do done>
Implementarea buclei `While` în scriptul Shell.
Mai întâi, creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim looping.sh>
Puteți înlocui looping.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` din Linux.
chmod +x looping.sh>
#/bin/bash
a=0
întregul java în șir# Este mai mic decât operator
#Repetați bucla până la mai puțin de 10
în timp ce [ $a -lt 10 ]
do
# Tipăriți valorile
eco $a
# incrementa valoarea
a=`expr $a + 1`
Terminat
Ieșire:

While Loop în Linux
Explicaţie:
-
#/bin/bash>: Specifică faptul că scriptul trebuie interpretat folosind shell-ul Bash. -
a=0>: Inițializează o variabilăa>cu valoarea 0. -
while [ $a -lt 10 ]>: Inițiază o buclă while care continuă atâta timp cât valoareaa>este mai mic de 10. -
do>: marchează începutul corpului buclei. -
echo $a>: Imprimă valoarea curentă aa>consola. -
a=>expr $a + 1 : Crește valoarea luia>prin 1. Theexpr>comanda este folosită pentru expresii aritmetice. -
done>: marchează sfârșitul buclei.
Instrucțiunea `for` în Scriptul Shell în Linux
Bucla for operează pe liste de articole. Se repetă un set de comenzi pentru fiecare articol dintr-o listă.
Aici var este numele unei variabile și cuvânt1 la cuvântN sunt secvențe de caractere separate prin spații (cuvinte). De fiecare dată când se execută bucla for, valoarea variabilei var este setată la următorul cuvânt din lista de cuvinte, cuvânt1 la cuvântN.
Sintaxă:
#/bin/bash for in do done>
Implementarea buclei `for` cu instrucțiunea `break` în Scriptul Shell.
Mai întâi, creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim for.sh>
Puteți înlocui for.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` din Linux.
chmod +x for.sh>
#/bin/bash
#Începutul buclei for
pentru a în 1 2 3 4 5 6 7 8 9 10
do# dacă a este egal cu 5 întrerupeți bucla
dacă [ $a == 5 ]
apoi
pauză
fi# Tipăriți valoarea
echo Iterație nu $a
Terminat
Ieșire:

Break declarație în bucla for în linux
Explicaţie:
#/bin/bash>: Specifică faptul că scriptul trebuie interpretat folosind shell-ul Bash.for a in 1 2 3 4 5 6 7 8 9 10>: Inițiază o buclă for care iterează peste valorile de la 1 la 10, atribuind fiecare valoare variabileia>în fiecare iterație.do>: marchează începutul corpului buclei.if [ $a == 5 ]>: Verifică dacă valoarea curentăa>este egal cu 5.then>: marchează începutul blocului condițional care urmează să fie executat dacă condiția este adevărată.break>: Iese din buclă dacă condiția este adevărată.
fi>: marchează sfârșitul blocului condiționat.
echo 'Iteration no $a'>: Imprimă un mesaj care indică numărul de iterație curent.done>: marchează sfârșitul buclei.
Scriptul stabilește o buclă for care iterează peste valorile de la 1 la 10. În timpul fiecărei iterații, verifică dacă valoareaa>este egal cu 5. Dacă este, bucla este ieșită folosindbreak>afirmație. În caz contrar, tipărește un mesaj care indică numărul de iterație curent. Bucla continuă până când finalizează toate iterațiile sau până când întâlnește o instrucțiune break.
Implementarea buclei `for` cu instrucțiunea `continue` în Scriptul Shell.
Mai întâi, creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim for_continue.sh>
Puteți înlocui for_continue.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` din Linux.
chmod +x for_continue.sh>
#/bin/bash
somn javascriptpentru a în 1 2 3 4 5 6 7 8 9 10
do# dacă a = 5 atunci continuați bucla și
# nu trece la linia 8dacă [ $a == 5 ]
apoi
continua
fi
echo Iterație nu $a
Terminat
Ieșire:

Continuați declarația în bucla for în Linux
Explicaţie:
shreya ghoshal primul soț
-
#/bin/bash>: Specifică faptul că scriptul trebuie interpretat folosind shell-ul Bash. -
for a in 1 2 3 4 5 6 7 8 9 10>: Inițiază o buclă for care iterează peste valorile de la 1 la 10, atribuind fiecare valoare variabileia>în fiecare iterație. -
do>: marchează începutul corpului buclei. -
if [ $a == 5 ]>: Verifică dacă valoarea curentăa>este egal cu 5.-
then>: marchează începutul blocului condițional care urmează să fie executat dacă condiția este adevărată.-
continue>: Omite restul corpului buclei și trece la următoarea iterație dacă condiția este adevărată.
-
-
fi>: marchează sfârșitul blocului condiționat.
-
-
echo 'Iteration no $a'>: Imprimă un mesaj care indică numărul de iterație curent. Această linie este omisă dacăa>este egal cu 5 din cauzacontinue>afirmație. -
done>: marchează sfârșitul buclei.
Scriptul stabilește o buclă for care iterează peste valorile de la 1 la 10. În timpul fiecărei iterații, verifică dacă valoareaa>este egal cu 5. Dacă este, bucla continuă la următoarea iterație fără a executa instrucțiunile rămase în corpul buclei. În caz contrar, tipărește un mesaj care indică numărul de iterație curent. Bucla continuă până când finalizează toate iterațiile.
Instrucțiunea `până` în Shell Script în Linux
Bucla până este executată de câte ori condiția/comanda este evaluată ca falsă. Bucla se termină când condiția/comanda devine adevărată.
Sintaxă:
#/bin/bash until do done>
Implementarea buclei `până` în Shell Script
Mai întâi, creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim until.sh>
Puteți înlocui până la. sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` din Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt este mai mare decât operator
#Repetați bucla până când a este mai mare decât 10până la [ $a -gt 10 ]
do# Tipăriți valorile
eco $a# incrementa valoarea
a=`expr $a + 1`
Terminat
Ieșire:

Până la bucla în Linux
Explicaţie:
-
#/bin/bash>: Specifică faptul că scriptul trebuie interpretat folosind shell-ul Bash. -
a=0>: Inițializează o variabilăa>cu valoarea 0. -
until [ $a -gt 10 ]>: Inițiază o buclă până care continuă atâta timp cât valoareaa>nu este mai mare de 10. -
do>: marchează începutul corpului buclei. -
echo $a>: Imprimă valoarea curentă aa>consola. -
a=>expr $a + 1 : Crește valoarea luia>prin 1. Theexpr>comanda este folosită pentru expresii aritmetice. -
done>: marchează sfârșitul buclei.
Notă: Scripting-ul Shell este un limbaj sensibil la majuscule și minuscule, ceea ce înseamnă că trebuie urmată sintaxa corespunzătoare în timpul scrierii scripturilor.
Exemple de instrucțiuni în buclă
1. Iterarea peste culori folosind o buclă For
Mai întâi, creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim color.sh>
Puteți înlocui color.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` în Linux.
chmod +x color.sh>
#/bin/bash
CULORI=rosu verde albastru
# bucla for continuă până când citește toate valorile din CULORI
pentru COLOR în $COLORS
do
echo CULOARE: $CULOARE
Terminat
Ieșire:

Pentru până în Linux
Explicaţie:
- Inițializarea culorilor:
COLORS='red green blue'>: Inițializează o variabilă numităCOLORS>cu o listă de valori de culoare separate prin spații (roșu, verde și albastru).
- Pentru iterație în buclă:
for COLOR in $COLORS>: Inițiază o buclă for care iterează peste fiecare valoare dinCOLORS>variabil.- Corpul buclei:
echo 'COLOR: $COLOR'>: Imprimă un mesaj pentru fiecare culoare, afișând valoarea curentă a culorii.
- Corpul buclei:
- Bucla continuă până când procesează toate valorile prezente în
COLORS>variabil.
Acest exemplu demonstrează o buclă simplă pentru în Bash, repetând o listă de culori stocate înCOLORS>variabil. Bucla tipărește un mesaj pentru fiecare culoare, indicând culoarea curentă care este procesată. Bucla se repetă până când toate valorile de culoare sunt epuizate.
2. Crearea unei bucle infinite cu while true în Shell Script
Mai întâi creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
pereche java
vim infinite.sh>
Puteți înlocui infinite.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` în Linux.
chmod +x infinite.sh>
#/bin/bash
în timp ce adevărat
do# Comanda de executat
# sleep 1 indică faptul că doarme timp de 1 secundă
echo Bună, sunt bucla infinită
somn 1
Terminat
Ieșire:

buclă infinită în linux
Explicaţie:
Structura buclei infinite:
while true>: Inițiază o buclă while care continuă la nesfârșit ca condițietrue>este întotdeauna adevărat.- Corpul buclei:
echo 'Hi, I am infinity loop'>: Imprimă un mesaj care indică faptul că scriptul este într-o buclă infinită.sleep 1>: Întrerupe execuția buclei cu 1 secundă înainte de următoarea iterație.
- Corpul buclei:
- Bucla continuă la nesfârșit, executând comenzile din corpul său în mod repetat.
Acest exemplu prezintă crearea unei bucle infinite folosind construcția while true în Bash. Bucla tipărește continuu un mesaj care indică starea sa ca buclă infinită și include o comandă sleep 1, provocând o întârziere de o secundă între iterații. Buclele infinite sunt adesea folosite pentru procesele care trebuie să ruleze continuu până când sunt întrerupte manual.
aliniere text css
3. Bucla interactivă de confirmare a numelui
Mai întâi creăm un fișier folosind un editor de text în Linux. În acest caz, folosim `vim`editor.
vim name.sh>
Puteți înlocui name.sh cu numele dorit.
Apoi facem scriptul nostru executabil folosind comanda `chmod` în Linux.
chmod +x name.sh>
#/bin/bash
CORECT=n
în timp ce [ $ CORECT == n ]
do# bucla se întrerupe când introduceți y, adică atunci când numele dvs. este corect
# -p înseamnă prompt care solicită intrareacitește -p Introduceți numele dvs.: NUME
citește -p ${NAME} este corect? CORECT
Terminat
Ieșire:

Script interactiv în Linux
Explicaţie:
- Inițializare:
CORRECT=n>: Inițializează o variabilă numităCORRECT>cu valoarea n. Această variabilă este folosită pentru a controla bucla.
- Buclă interactivă:
while [ '$CORRECT' == 'n' ]>: Inițiază o buclă while care continuă atâta timp cât valoarea luiCORRECT>este egal cu n.- Corpul buclei:
read -p 'Enter your name:' NAME>: solicită utilizatorului să-și introducă numele și stochează intrarea în fișierulNAME>variabil.read -p 'Is ${NAME} correct? ' CORRECT>: Solicită utilizatorului să confirme dacă numele introdus este corect și actualizeazăCORRECT>variabilă în mod corespunzător.
- Corpul buclei:
- Bucla continuă până când utilizatorul introduce y (indicând numele corect).
Acest exemplu demonstrează o buclă interactivă care solicită utilizatorului să-și introducă numele și apoi solicită confirmarea. Ciclul continuă până când utilizatorul confirmă că numele introdus este corect introducând y. Bucla utilizează ` read> `>comandă pentru introducerea utilizatorului și actualizează ` CORRECT> `>variabilă pentru a controla fluxul buclei.
Concluzie
În acest articol am discutat despre declarațiile de buclă în scriptingul Bash, acoperindwhile>,for>, șiuntil>bucle. Introduce utilizarea luibreak>șicontinue>instrucțiuni pentru a modifica comportamentul buclei. Exemple practice ilustrează implementarea buclelor, inclusiv iterarea peste valorile de culoare, crearea de bucle infinite și construirea unei bucle interactive pentru validarea intrărilor utilizatorului. Ghidul oferă o resursă concisă, dar informativă pentru înțelegerea și utilizarea constructelor de buclă în scripting-ul Bash.