10 forši un satriecoši Bash Loop piemēri

10 Forsi Un Satriecosi Bash Loop Piemeri



Programmēšanas valodā galvenokārt ir trīs veidu cilpas (par, kamēr un līdz). Visi trīs cilpu veidi ir svarīgi dažādos veidos. Nav daudz atšķirību starp while un till cilpām, taču for cilpa darbojas diezgan atšķirīgi no šīm divām. Tāpēc varat izmantot šīs cilpas, lai izveidotu interaktīvus skriptus kā bash lietotājs.

Tāpēc bash piemēru apgūšana var palīdzēt uzlabot prasmes skriptu veidošanā. Tāpēc šajā apmācībā mēs iekļausim 10 lieliskus un satriecošus bash cikla piemērus, kurus varat mēģināt uzlabot savas skriptēšanas prasmes.







10 forši un satriecoši Bash Loop piemēri

Šajā sadaļā mēs izskaidrosim dažādus piemērus un pieejas, ko esam izmantojuši cilpās.



Seq komanda ar cilpu Bash

Lai izveidotu skaitļu secību, for cilpā varat izmantot komandu seq. Piemēram, jums ir bash skripts “File.sh”, kas satur šādu kodu:



#!/bin/bash
priekš A iekšā $ ( sek 5 divi 25 )
darīt
atbalss 'skaitļi $A ir'
darīts





Pēc skripta izpildes terminālī saņemsit šādu rezultātu:

. / fails.sh




Pārdēvējiet failus, izmantojot cilpu

Izmantojot bash skriptu, varat izmantot for cilpas, lai pārdēvētu vairākus failus. Piemēram, jums ir vairāki .txt faili un vēlaties pievienot pašreizējo datumu ar nosaukumu. Tātad, šeit ir skripta piemērs, ko varat izmantot:

#!/bin/bash
priekš A iekšā $ ( ls * .txt ) ; darīt
mv $A ( pamatnosaukums $A .txt ) _$ ( datums % d % m % ) .txt
darīts


Tagad varat palaist skriptu, un tas mainīs visu .txt failu nosaukumus, pievienojot pašreizējo datumu:

. / MyFile.sh



Tāpat varat mainīt faila paplašinājumus, izmantojot vienu skriptu. Mainīsim paplašinājumu .txt uz .sh, izmantojot šādu skriptu:

#!/bin/bash
priekš failu iekšā * .txt; darīt
mv -- ' $fails ' '{file%.txt}.sh'
darīts

Pēc skripta izpildes terminālī jūs saņemsiet .sh, nevis .txt failus:

. / MyFile.sh


Infinite For Loop valodā Bash

Ja cilpā nav definēts neviens beigu nosacījums, to sauc par bezgalīgu cilpu. Šajā Bash cilpas piemērā mēs aplūkosim bezgalīgo cilpu bash. Tālāk norādītā bezgalīgā cilpa ir definēta ar dubultu semikolu ( ; ; ), un tā nesatur sākuma, darbības vai beigu daļas.

Tālāk redzamais skripts turpināsies, līdz nospiedīsit Ctrl+C vai ievadīsiet “quit”. Šis skripts izdrukās katru ciparu no 10 līdz 50, kas norādīts kā ievade. Pretējā gadījumā tiks drukāts 'numurs ir ārpus diapazona'.

#!/bin/bash
#bezgalīga cilpa
priekš ( ( ; ; ) )
darīt
atbalss 'Ievadiet skaitli no 10 līdz 50'
lasīt n
ja [ $n == 'atmest' ]
tad
atbalss 'izbeigts'
Izeja 0
būt
ja ( ( $n < 10 || $n > piecdesmit ) )
tad
atbalss 'Numurs ir ārpus diapazona'
cits
atbalss 'Cipars ir $n '
būt
darīts

Iepriekš minētajā skriptā mēs sniedzām 45 un 23 derīgas ievades. Pēc tam mēs izdrukājam 2 kā ievadi, kas izvadē norāda, ka 'skaitlis ir ārpus diapazona'. Pēc tam, lai aizvērtu skriptu, kā ievadi ierakstām quit. Šeit varat arī nospiest Ctrl+C, lai izietu no bezgalīgās cilpas.

Trīs izteiksmju cilpa valodā Bash

No trīs izteiksmju cilpas nosaukuma ir zināms, ka tajā ir trīs izteiksmes, ko sauc arī par kontroles izteiksmēm. Pirmā izteiksme (EXP1) ir inicializators, otrā izteiksme (EXP2) ir cilpas tests vai nosacījums, un trešā izteiksme (EXP3) ir skaitīšanas izteiksme/solis. Ļaujiet mums izpildīt trīs izteiksmju cilpu bash:

#!/bin/bash
priekš ( ( n = 5 ; n > = 1 ; n-- ) )
darīt
atbalss 'Grāmata $n '
darīts

Palaižot iepriekš minēto skriptu, jūs iegūsit šādu izvadi.

Cilpa ar vairākiem nosacījumiem

Mēs esam izmantojuši līdz cilpu ar vairākiem nosacījumiem nākamajā bash cilpas piemērā. Šajā skriptā mēs paņēmām “m” un “n” — divus mainīgos, kuru vērtības ir attiecīgi 20 un 10, un saglabājām ierobežojumu — 15. Šeit mēs cilpā apvienojām nosacījumus “m” un “n”, kurā cilpa darbosies, līdz vērtība “m” ir mazāka par robežu un “n” ir lielāka par robežu.

#!/bin/bash
ierobežojums = piecpadsmit
m = divdesmit
n = 10
līdz [ [ $ milj -lt $ limits || $n -gt $ limits ] ] ;
darīt
atbalss 'Ja M = $ milj tad N = $n '
( ( m-- ) )
( ( n++ ) )
darīts

Var redzēt, ka iepriekš minētā skripta izpilde darbosies, līdz “m” un “n” vērtības sasniegs tādu pašu līmeni.

Lasīt failu Bash

Izmantojot bash, faila saturu var lasīt vairākos veidos. Šajā bash cilpas piemērā mēs nolasīsim faila saturu, izmantojot faila nosaukumu. Mēs varam izmantot šādu skriptu, lai lasītu failu bash:

#!/bin/bash
atbalss 'Ievadītā faila saturs ir:'
kamēr
lasīt līniju
darīt
atbalss $rinda
darīts < ~ Dokumenti / Linuxhint.txt

Pēc iepriekš minētā skripta palaišanas varat izlasīt visu ievadītā faila saturu.

Rakstīšana failā

Varat izmantot skripta cilpas, lai rediģētu failu tieši no termināļa. Piemēram, ja mums ir txt fails “Example.txt” un mēs vēlamies pievienot kādu informāciju, mēs varam izmantot šādu skriptu:


Ja palaižat iepriekš minēto skriptu, tas lūgs ievadīt informāciju:


Kad esat ievadījis informāciju, lūdzu, nospiediet CTRL + D, lai saglabātu failu, un CTRL + Z, lai veiksmīgi pabeigtu procesu.

Pārtraukt un turpināt paziņojumu cilpu Bash valodā

Bash valodā varat turpināt cilpas paziņojumu pēc pārtraukuma. Pārtraukuma priekšraksts iziet no cilpas un pēc tam nodod vadību nākamajam dotajam priekšrakstam. Otrā iterācija sākas pēc tam, kad pašreizējā iterācija ir izlaista ar to pašu turpinājuma paziņojumu.

#!/bin/bash
uz viena = 16
līdz viltus
darīt
( ( uz vienu... ) )
ja [ [ $num -ekv 13 ] ]
tad
Turpināt
elifs [ [ $num - 4 ] ]
tad
pārtraukums
būt
atbalss 'LinuxHint= $num '
darīts

Nākamajā bash skriptā var redzēt, ka, ja “skaitlis” ir vienāds ar 13, tas izlaiž pārējo cilpas pamattekstu un pāriet uz nākamo iterāciju. Līdzīgi cilpa pārtrūks, kad “num” ir mazāks vai vienāds ar 4.


Iepriekš minētais skripts parāda, ka cilpa sākas 15, pārtrauc 13 un turpinās līdz 5.

Vidējās vērtības aprēķināšana Bašā

Vidējo vērtību var aprēķināt, palaižot skriptu bash cilpā. Šajā gadījumā lietotājs var aprēķināt vidējo skaitļu vērtību noteiktā diapazonā. Šis skripts aprēķina vidējo lietotāja sniegto ievadi.

#!/bin/bash
atzīmes = '0'
VIDĒJS = '0'
SUMMA = '500'
UZ VIENU = '5'
kamēr taisnība ; darīt
atbalss -n 'Ievadiet savas atzīmes vai nospiediet 'q', lai pārtrauktu' ; lasīt atzīmes;
ja ( ( ' $markas ' < '0' ) ) || ( ( ' $markas ' > '100' ) ) ; tad
atbalss 'Lūdzu, ievadiet savas atzīmes'
elifs [ ' $markas ' == 'q' ] ; tad
atbalss 'vidējās atzīmes ir: VIDĒJĀ ASV dolāri %'
pārtraukums
cits
SUMMA =$ [ SUM $ + $markas ]
UZ VIENU =$ [ $NUM + 1 ]
VIDĒJS =$ [ SUM $ / $NUM ]
būt
darīts

Ja ievade neietilpst diapazonā, tiek izdrukāts ziņojums “Lūdzu, ievadiet savas atzīmes”. Kad lietotājs pēc visu atzīmju ievadīšanas nospiež “q”, skripts aprēķina visu ievadīto skaitļu aptuveno vidējo vērtību.

Kad tiek palaists iepriekš minētais skripts, jūsu izvade būs aptuveni šāda.

Izlasiet Bash komandrindas argumentus

Programmā bash jūs varat lasīt atsevišķus komandrindas argumentus, izmantojot cilpas. Skripts izdrukā formatētās argumentu vērtības. Mēs izpildām komandrindas argumentus programmā bash, izmantojot while cilpu nākamajā skriptā. Izmantojot to, jūs izdrukāsit vērtību, kas nodod argumenta vērtības derīgo opciju ar vienas komandas palīdzību.

#!/bin/bash
kamēr getopts N:F:M: OPT
darīt
lietu ' ${OPT} '
iekšā
N ) nosaukums = ${OPTARG} ;;
F ) tēva vārds = ${OPTARG} ;;
M ) mātes vārds = ${OPTARG} ;;
* ) atbalss 'Nederīgs'
Izeja 1 ;;
esac
darīts
printf 'Vārds: $name \n Tēva vārds: $tēva vārds \n Mātes vārds: $mātes vārds \n '

Tādējādi jūs varat izdrukāt formatētās argumentu vērtības izvadē, palaižot iepriekš minēto skriptu bash.

Iesaiņošana

Tātad šī bija īsa informācija par 10 foršajiem un satriecošajiem bash cikla piemēriem, ko varat uzzināt. Mēs esam izmantojuši dažāda veida cilpas, lai viegli izveidotu interaktīvo skriptu. Turklāt mēs arī izskaidrojām iepriekš minētajos piemēros izmantotās pamata pieejas. Ja jums ir padziļināta informācija par bash cilpām, lūdzu, apmeklējiet mūsu oficiālo vietni, lai uzzinātu vairāk.