Ohjelmointi bashissa - osa 2

Toinen osa tästä mini-opetusohjelma ohjelmointi Kemut, jossa opimme käyttämään syklit ja muita työkaluja, jotka auttavat meitä parantamaan palvelumme toimintoja skriptejä.

Jos ehdollinen

If: n tehtävänä on käyttää suodatinta ja suorittaa jokaiselle käytetylle suodatintyypille jokin toiminto tai tehtävä. Sen rakenne on seuraava:

Jos [ehto]; sitten elif-komennot [ehto]; sitten muut komennot; fi -komennot

Esimerkki näkyy For-silmukan vieressä vastaavassa osiossa.

syklit

1. While: Tämä silmukka suorittaa kaikki do- ja done-komentojen välillä määritellyt komennot, kunhan ehto on tosi. Jos haluat käyttää vertailuoperaattoreita, lauseke on suljettava hakasulkeisiin.

kun taas CONDITION / COMMAND tekevät komennot

Esimerkki: luvun kertotaulukko

#! / bin / bash X = 1 kaiku "Syötä numero ja paina ENTER" lue M #Silmukka ohjaa, että X on pienempi tai yhtä suuri kuin 10, kun taas [$ X –le 10] tee #R: ssä tallennamme X MR: llä = $ [X * M] # Tämä kertolasku tulostetaan ruudulle kaiku "$ M * $ X = $ R" # Annetaan suurennetaan X: n arvoa 1 yksiköllä annetaan X = $ X + 1 valmis

2. For: tallentaa luettelon elementeistä muuttujaan, jota käytetään tiettyjen operaatioiden suorittamiseen kullakin silmukalla.

for VARIABLE in ELEMENTS tee komentoja

Esimerkki: ohjelma, joka kopioi tiedoston kansiosta toiseen korvaamalla vanhan tiedoston.

# / bin / bash #Voimme luoda lähde- ja kohdehakemistot ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # Sijoitamme lähdekoodiin $ ORIGIN # Kaikista tiedostoista haluamme vain sen, joka on # kutsu FILE tiedostolle * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f suodattaa meille tavalliset tiedostot, koska hakemistot eivät ole meille mitään hyödyllisiä. –Nt suodattaa # tiedostoa “uudemmiksi” kuin kohdekansiossa olevat #, jos [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; sitten kaiku "Kopioi $ FILE ..." # kopioimme tiedoston cp cp $ FILE $ ARCH-DESTINATION fi valmis #We cd poistua lähdekansiosta cd

Toinen esimerkki: komentosarja, jossa käyttäjän on arvattava tietokoneen tuottama satunnaisluku.

# / bin / bash # Satunnaisluku syntyy 1: stä 10: een, se # tallennetaan RANDOM RANDOM -arvoon = $ [$ RANDOM% 10 + 1], kun taas [1] toistaa kai- n "Syötä numero:" lue NUM # Vertaa, jos käyttäjän valitsema numero on # yhtä suuri kuin RANDOM; muista käyttää arvoa $ muuttujien #arvojen ja niiden nimien arvioimiseksi, jos [“$ NUM –eq“ $ RANDOM ”]; sitten kaiku "Sinulla on oikein!" #break sallii silmukan lopettamisen ja tauon # Jos luku on pienempi kuin RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; sitten kaiku "Se on vähemmän" "Jos ei, se on suurempi kuin RANDOM muut kaiku" IT ON suurempi "tehty

3. Until: rakenteeltaan melko samanlainen kuin While, paitsi että koodi suoritetaan aina ehdon negatiivisen evaluoinnin aikana, eli ohjelman suoritusta jatketaan "kunnes ehto toteutuu"

kunnes CONDITION / COMMAND tee komentoja

Esimerkki: tulosta numerot 10-20 laskevassa järjestyksessä

#! / bin / bash CONT = 20 # Niin kauan kuin laskuri on alle 10 (-lt, "alempi #than"), koodi suoritetaan, kunnes [$ CONT -lt 10]; do echo "COUNTER $ CONT" #A CONT vähennetään yksiköllä, jonka CONT- = 1 on tehty

4. Valitse: Tämä viimeinen silmukka on erikoistapaus, koska sitä käytetään yleensä valikoiden nopeaan luomiseen. Se toimii samalla tavalla kuin For-silmukka.

valitse VARIABLE luettelosta tehdyistä komennoista

Esimerkki: anna käyttäjälle mahdollisuus jatkaa tai lopettaa komentosarja.

#! / bin / bash #item on muuttuja, joka vastaa # käyttäjän valitsemaan, Jatka ja Valmis ovat # käytettävissä olevat vaihtoehdot, vaikka muita vaihtoehtoja voidaan lisätä # lisää valitse kohde Jatka Valmis tee # Jos käyttäjä valitsee lopeta ohjelma, sitten lopetamme jakson. jos [$ item = "Valmis"]; sitten tauko fi tehty
Kiitos Juan Carlos Ortiz!

Lisää ensisijaiseksi lähteeksi Googlessa