Cilpas paziņojumi Shell skriptēšanā: Kopā ir 3 cilpas paziņojumi, ko var izmantot bash programmēšanā
Satura rādītājs
- `while` paziņojums Shell skriptā operētājsistēmā Linux
- 'for' paziņojums Shell skriptā operētājsistēmā Linux
- 'līdz' paziņojums Shell skriptā operētājsistēmā Linux
- Atkārtotu paziņojumu piemēri
Lai mainītu cilpas paziņojumu plūsmu, tiek izmantotas divas komandas, tās ir,
- pārtraukums
- Turpināt
To apraksti un sintakse ir šādi:
`while` paziņojums Shell skriptā operētājsistēmā Linux
Šeit komanda tiek novērtēta un, pamatojoties uz iegūto cilpu, tiks izpildīta, ja komanda tiek paaugstināta uz false, tad cilpa tiks pārtraukta ka.
#/bin/bash while do done>
`While` Loop ieviešana Shell skriptā.
Pirmkārt, mēs izveidojam failu, izmantojot teksta redaktoru operētājsistēmā Linux. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim looping.sh>
Looping.sh varat aizstāt ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x looping.sh>
#/bin/bash
a=0
# Tas ir mazāks par operatoru
#Atkārtojiet cilpu, līdz tas ir mazāks par 10
kamēr [ $a -lt 10 ]
darīt
# Drukājiet vērtības
atbalss $a
# palieliniet vērtību
a=`ekspr $a + 1`
darīts
Izvade:
masīva saraksta java šķirošana

Kamēr cilpa operētājsistēmā Linux
Paskaidrojums:
-
#/bin/bash>: norāda, ka skripts jāinterpretē, izmantojot Bash apvalku. -
a=0>: inicializē mainīgoa>ar vērtību 0. -
while [ $a -lt 10 ]>: uzsāk kamēr cilpu, kas turpinās tik ilgi, kamēr vērtībaa>ir mazāks par 10. -
do>: atzīmē cilpas korpusa sākumu. -
echo $a>: izdrukā pašreizējo vērtībua>konsole. -
a=>izteiksme $a + 1 : palielina vērtībua>1. Theexpr>komanda tiek izmantota aritmētiskām izteiksmēm. -
done>: atzīmē cilpas beigas.
'for' paziņojums Shell skriptā operētājsistēmā Linux
For cilpa darbojas ar vienumu sarakstiem. Tas atkārto komandu kopu katram saraksta vienumam.
Šeit var ir mainīgā nosaukums, un no word1 līdz wordN ir rakstzīmju secības, kas atdalītas ar atstarpēm (vārdi). Katru reizi, kad tiek izpildīta cilpa for, mainīgā var vērtība tiek iestatīta uz nākamo vārdu vārdu sarakstā, no word1 līdz wordN.
Sintakse:
#/bin/bash for in do done>
Cilpas “for” ieviešana ar paziņojumu “break” Shell skriptā.
Pirmkārt, mēs izveidojam failu, izmantojot teksta redaktoru operētājsistēmā Linux. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim for.sh>
For.sh varat aizstāt ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x for.sh>
#/bin/bash
#Cilpas sākums
a in 1 2 3 4 5 6 7 8 9 10
darīt# ja a ir vienāds ar 5, pārtrauciet cilpu
ja [ $a == 5]
tad
pārtraukums
būt# Izdrukājiet vērtību
atbalss Iterācija nav $a
darīts
Izvade:

Pārtrauciet paziņojumu par Loop operētājsistēmā Linux
Paskaidrojums:
#/bin/bash>: norāda, ka skripts jāinterpretē, izmantojot Bash apvalku.for a in 1 2 3 4 5 6 7 8 9 10>: ierosina for cilpu, kas atkārto vērtības no 1 līdz 10, piešķirot katru vērtību mainīgajam.a>katrā iterācijā.do>: atzīmē cilpas korpusa sākumu.if [ $a == 5 ]>: pārbauda, vai pašreizējā vērtībaa>ir vienāds ar 5.then>: atzīmē izpildāmā nosacījuma bloka sākumu, ja nosacījums ir patiess.break>: iziet no cilpas, ja nosacījums ir patiess.
fi>: atzīmē nosacījumu bloka beigas.
echo 'Iteration no $a'>: izdrukā ziņojumu, kas norāda pašreizējo iterācijas numuru.done>: atzīmē cilpas beigas.
Skripts izveido for cilpu, kas atkārto vērtības no 1 līdz 10. Katras iterācijas laikā tas pārbauda, vai vērtībaa>ir vienāds ar 5. Ja tā ir, cilpa tiek izieta, izmantojotbreak>paziņojums, apgalvojums. Pretējā gadījumā tas izdrukā ziņojumu, norādot pašreizējo iterācijas numuru. Cilpa turpinās, līdz tā pabeidz visas iterācijas vai saskaras ar pārtraukuma paziņojumu.
Cilpas “for” ieviešana ar paziņojumu “turpināt” Shell skriptā.
Pirmkārt, mēs izveidojam failu, izmantojot teksta redaktoru operētājsistēmā Linux. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim for_continue.sh>
Varat aizstāt for_continue.sh ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x for_continue.sh>
#/bin/bash
a in 1 2 3 4 5 6 7 8 9 10
darīt# ja a = 5, tad turpiniet cilpu un
# nepāriet uz 8. rinduja [ $a == 5]
tad
Turpināt
būt
atbalss Iterācija nav $a
darīts
Izvade:

turpināt paziņojumu for cilpa operētājsistēmā Linux
Paskaidrojums:
-
#/bin/bash>: norāda, ka skripts jāinterpretē, izmantojot Bash apvalku. -
for a in 1 2 3 4 5 6 7 8 9 10>: ierosina for cilpu, kas atkārto vērtības no 1 līdz 10, piešķirot katru vērtību mainīgajam.a>katrā iterācijā. -
do>: atzīmē cilpas korpusa sākumu. -
if [ $a == 5 ]>: pārbauda, vai pašreizējā vērtībaa>ir vienāds ar 5.-
then>: atzīmē izpildāmā nosacījuma bloka sākumu, ja nosacījums ir patiess.-
continue>: izlaiž pārējo cilpas pamattekstu un pāriet uz nākamo iterāciju, ja nosacījums ir patiess.
-
-
fi>: atzīmē nosacījumu bloka beigas.
-
-
echo 'Iteration no $a'>: izdrukā ziņojumu, kas norāda pašreizējo iterācijas numuru. Šī rinda tiek izlaista, jaa>ir vienāds ar 5, jocontinue>paziņojums, apgalvojums. -
done>: atzīmē cilpas beigas.
Skripts izveido for cilpu, kas atkārto vērtības no 1 līdz 10. Katras iterācijas laikā tas pārbauda, vai vērtībaa>ir vienāds ar 5. Ja tā ir, cilpa turpina nākamo iterāciju, neizpildot atlikušos cilpas pamattekstā esošus paziņojumus. Pretējā gadījumā tas izdrukā ziņojumu, norādot pašreizējo iterācijas numuru. Cilpa turpinās, līdz tiek pabeigtas visas iterācijas.
'līdz' paziņojums Shell skriptā operētājsistēmā Linux
Līdz cilpa tiek izpildīta tik reižu, cik nosacījums/komanda novērtē kā false. Cilpa beidzas, kad nosacījums/komanda kļūst patiesa.
jquery šo klikšķi
Sintakse:
#/bin/bash until do done>
Notiek cilpas “līdz” ieviešana Shell Scrip
Pirmkārt, mēs izveidojam failu, izmantojot teksta redaktoru operētājsistēmā Linux. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim until.sh>
Jūs varat aizstāt līdz. sh ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt ir lielāks par operatoru
#Atkārtojiet cilpu, līdz a ir lielāka par 10līdz [ $a -gt 10 ]
darīt# Drukājiet vērtības
atbalss $a# palieliniet vērtību
a=`ekspr $a + 1`
darīts
Izvade:

Līdz cilpai Linux
Paskaidrojums:
-
#/bin/bash>: norāda, ka skripts jāinterpretē, izmantojot Bash apvalku. -
a=0>: inicializē mainīgoa>ar vērtību 0. -
until [ $a -gt 10 ]>: uzsāk līdz cilpu, kas turpinās tik ilgi, kamēr ir norādīta vērtībaa>nav lielāks par 10. -
do>: atzīmē cilpas korpusa sākumu. -
echo $a>: izdrukā pašreizējo vērtībua>konsole. -
a=>izteiksme $a + 1 : palielina vērtībua>1. Theexpr>komanda tiek izmantota aritmētiskām izteiksmēm. -
done>: atzīmē cilpas beigas.
Piezīme: Shell skriptēšana ir reģistrjutīga valoda, kas nozīmē, ka, rakstot skriptus, ir jāievēro pareiza sintakse.
Atkārtotu paziņojumu piemēri
1. Krāsu atkārtošana, izmantojot For Loop
Pirmkārt, mēs izveidojam failu, izmantojot teksta redaktoru operētājsistēmā Linux. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim color.sh>
Color.sh var aizstāt ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x color.sh>
#/bin/bash
COLOURS=sarkans zaļš zils
# cilpa for turpinās, līdz tā nolasa visas vērtības no COLOURS
COLOR, $COLORS
darīt
echo COLOR: $COLOR
darīts
Izvade:

Līdz operētājsistēmai Linux
Paskaidrojums:
nulles
- Krāsu inicializācija:
COLORS='red green blue'>: inicializē mainīgo ar nosaukumuCOLORS>ar atstarpi atdalītu krāsu vērtību sarakstu (sarkans, zaļš un zils).
- Cikla iterācijai:
for COLOR in $COLORS>: ierosina for cilpu, kas atkārtojas pār katru vērtību laukāCOLORS>mainīgs.- Cilpas pamatteksts:
echo 'COLOR: $COLOR'>: izdrukā ziņojumu par katru krāsu, parādot pašreizējo krāsas vērtību.
- Cilpas pamatteksts:
- Cilpa turpinās, līdz tā apstrādā visas vērtības, kas atrodas
COLORS>mainīgs.
Šis piemērs parāda vienkāršu cilpu programmā Bash, atkārtojot krāsu sarakstu, kas saglabātsCOLORS>mainīgs. Cilpa izdrukā ziņojumu par katru krāsu, norādot pašreizējo krāsu, kas tiek apstrādāta. Cilpa atkārtojas, līdz ir izsmeltas visas krāsu vērtības.
2. Bezgalīgas cilpas izveide ar while true programmā Shell Script
Vispirms mēs izveidojam failu, izmantojot Linux teksta redaktoru. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim infinite.sh>
Jūs varat aizstāt infinite.sh ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x infinite.sh>
#/bin/bash
kamēr taisnība
darīt# Jāizpilda komanda
# miegs 1 norāda, ka tas guļ 1 sek
echo Sveiki, es esmu bezgalības cilpa
gulēt 1
darīts
Izvade:

bezgalīga cilpa operētājsistēmā Linux
Paskaidrojums:
Bezgalīgas cilpas struktūra:
while true>: uzsāk brīža cilpu, kas turpinās bezgalīgi kā nosacījumstrue>vienmēr ir taisnība.- Cilpas pamatteksts:
echo 'Hi, I am infinity loop'>: izdrukā ziņojumu, kas norāda, ka skripts atrodas bezgalīgā ciklā.sleep 1>: aptur cilpas izpildi uz 1 sekundi pirms nākamās iterācijas.
- Cilpas pamatteksts:
- Cilpa turpinās bezgalīgi, vairākas reizes izpildot komandas savā korpusā.
Šajā piemērā ir parādīta bezgalīgas cilpas izveide, izmantojot Bash konstrukciju while true. Cilpa nepārtraukti drukā ziņojumu, norādot, ka tā ir bezgalīga cilpa, un ietver miega 1 komandu, radot vienas sekundes aizkavi starp iterācijām. Bezgalīgas cilpas bieži izmanto procesiem, kuriem jādarbojas nepārtraukti, līdz tie tiek pārtraukti manuāli.
3. Interaktīvā vārda apstiprināšanas cilpa
Vispirms mēs izveidojam failu, izmantojot Linux teksta redaktoru. Šajā gadījumā mēs izmantojam 'vim' redaktoru.
vim name.sh>
Jūs varat aizstāt name.sh ar vēlamo nosaukumu.
Pēc tam mēs padarām savu skriptu izpildāmu, izmantojot komandu 'chmod' operētājsistēmā Linux.
chmod +x name.sh>
#/bin/bash
PAREIZI=n
kamēr [ $CORRECT == n ]
darīt# cilpa tiek pārtraukta, kad ievadāt y, t.i., ja jūsu vārds ir pareizs
# -p apzīmē tūlītēju ievades pieprasījumulasīt -p Ievadiet savu vārdu: VĀRDS
lasīt -p Vai ${NAME} ir pareizi? PAREIZI
darīts
Izvade:

Interaktīvs skripts operētājsistēmā Linux
Paskaidrojums:
arp komanda
- Inicializācija:
CORRECT=n>: inicializē mainīgo ar nosaukumuCORRECT>ar vērtību n. Šis mainīgais tiek izmantots, lai kontrolētu cilpu.
- Interaktīvā cilpa:
while [ '$CORRECT' == 'n' ]>: uzsāk kamēr cilpu, kas turpinās tik ilgi, kamēr ir vērtībaCORRECT>ir vienāds ar n.- Cilpas pamatteksts:
read -p 'Enter your name:' NAME>: piedāvā lietotājam ievadīt savu vārdu un saglabā ievadīto informāciju mapēNAME>mainīgs.read -p 'Is ${NAME} correct? ' CORRECT>: lūdz lietotājam apstiprināt, vai ievadītais vārds ir pareizs, un atjauninaCORRECT>attiecīgi mainās.
- Cilpas pamatteksts:
- Cilpa turpinās, līdz lietotājs ievada y (norādot pareizo nosaukumu).
Šajā piemērā ir parādīta interaktīva cilpa, kas liek lietotājam ievadīt savu vārdu un pēc tam lūdz apstiprinājumu. Cilpa turpinās, līdz lietotājs apstiprina, ka ievadītais nosaukums ir pareizs, ievadot y. Cilpa izmanto ` read> `>komandu lietotāja ievadei un atjaunina ` CORRECT> `>mainīgais, lai kontrolētu cilpas plūsmu.
Secinājums
Šajā rakstā mēs apspriedām cilpas paziņojumus Bash skriptēšanā, pārklājumāwhile>,for>, ununtil>cilpas. Tas iepazīstina ar lietošanubreak>uncontinue>paziņojumi, lai mainītu cilpas uzvedību. Praktiski piemēri ilustrē cilpu ieviešanu, tostarp krāsu vērtību atkārtošanu, bezgalīgu cilpu izveidi un interaktīvas cilpas izveidi lietotāja ievades validācijai. Rokasgrāmata piedāvā kodolīgu, taču informatīvu resursu, lai izprastu un izmantotu cilpas konstrukcijas Bash skriptēšanā.