Programmeerimine bashis - 2. osa

Teine osa sellest miniõpetus programmeerimine aastal sisse lööma, kus õpime kasutama CICLOS ja muud tööriistad, mis aitavad meil oma funktsionaalsust parandada skripte.

Kui tingimuslik

Ifi funktsiooniks on filtri rakendamine ja toimingu või ülesande täitmine iga rakendatud filtri tüübi jaoks. Selle struktuur on järgmine:

Kui [tingimus]; siis käsib elif käsud [tingimus]; siis muud käsud; fi käsud

Näide on kuvatud tsükli For kõrval selle vastavas jaotises.

Tsüklid

1. While: käivitab kõik käsud, mis on määratud "do" ja "done" vahel, kui tingimus on tõene. Võrdlusoperaatorite kasutamiseks tuleb avaldis panna nurksulgudesse.

samal ajal kui CONDITION / COMMAND teevad käske

Näide: arvu korrutustabel

#! / bin / bash X = 1 kaja "Sisestage number ja vajutage sisestusklahvi", loe M #Silmus juhib, et X on väiksem või võrdne 10-ga, samal ajal kui [$ X –le 10] teeb #R-is salvestame X korrutamise MR = $ [X * M] # See korrutamine trükitakse ekraanile kaja "$ M * $ X = $ R" # Laskmise korral suurendame X väärtust 1 ühiku võrra, laseme X = $ X + 1 teha

2. For: salvestab muutujasse elementide loendi, mida kasutatakse iga tsükliga teatud toimingute tegemiseks.

elemendi VARIABLE jaoks tehke käsud

Näide: programm, mis kopeerib faili ühest kaustast teise, asendades vana faili.

# / bin / bash # Loome lähte- ja sihtkataloogid ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # Paigutame end allika CD-le $ ORIGIN #Kõikidest failidest soovime ainult seda, mis on # kutsu FILE for FILE sisse * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f filtreerib meid tavalisi faile, kuna kataloogid pole meile # midagi head. –Nt filtreerib # faili „uuematest” kui sihtkaustast leitud # failid, kui [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; siis kaja "$ FILE kopeerimine ..." # kopeerime faili cp-ga cp $ FILE $ ARCH-DESTINATION fi valmis #We cd lähtekataloogist väljumiseks cd

Teine näide: skript, kus kasutaja peab arvama juhusliku arvu, mille arvuti on genereerinud.

# / bin / bash # Juhuslik arv genereeritakse vahemikus 1 kuni 10, see on # salvestatud juhuslikult RANDOM RANDOM = $ [$ RANDOM% 10 + 1], samal ajal kui [1] teeb kaja - n "Sisestage number:" loe NUM # Võrdle, kui kasutaja valitud number on # võrdne RANDOMiga; ärge unustage kasutama dollarit muutujate # väärtuste, mitte nende nimede hindamiseks, kui [“$ NUM –eq“ $ RANDOM ”]; siis kaja "Saite õigesti aru!" #break lubab tsükli lõpetada, samal ajal kui break # kui arv on väiksem kui RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; siis kaja "See on vähem" "Kui ei, siis on see suurem kui RANDOM muu kaja" See on suurem "on tehtud

3. Until: struktuurilt üsna sarnane While'iga, välja arvatud see, et kood käivitub alati tingimuse negatiivse hindamise ajal, st programmi käivitumine jätkub "kuni tingimus tekib".

kuni CONDITION / COMMAND käsk on tehtud

Näide: printige numbrid 10-20 kahanevas järjekorras

#! / bin / bash CONT = 20 # Niikaua kui loendur on väiksem kui 10 (-lt, "madalam # kui"), käivitatakse kood kuni [$ CONT -lt 10]; do echo "COUNTER $ CONT" #A CONT lahutatakse ühikust, mille järgi CONT- = 1 on tehtud

4. Select: See viimane tsükkel on erijuhtum, kuna seda kasutatakse üldiselt menüüde kiireks loomiseks. See toimib sarnaselt For-tsükliga.

vali VARIABLE tehtud käskude loendis

Näide: võimaldage kasutajal skripti jätkata või lõpetada.

#! / bin / bash #item on muutuja, mis vastab # kasutaja valitud valikutele. Jätka ja Lõpeta on talle saadaolevad #optsioonid, kuigi muid valikuid saab lisada # veel valige üksus jaotises Jätka lõpetamist tee #Kui kasutaja valib lõpetage programm, siis katkestusega väljume tsüklist. kui [$ item = "Lõpeta"]; siis vaheaeg tehtud
Aitäh Juan Carlos Ortiz!

Lisa eelistatud allikana Google'is