|
Otrā daļa no tā mini apmācība programmēšana Stipri iesist, kur mēs iemācāmies izmantot ciclos un citi rīki, kas palīdzēs mums uzlabot mūsu funkcionalitāti skripti. |
Ja nosacīts
Ja funkcija ir lietot filtru un veikt darbību vai uzdevumu katram izmantotajam filtram. Tās struktūra ir šāda:
Ja [nosacījums]; tad elif komandas [nosacījums]; tad vēl komandas; fi komandas
Piemērs ir parādīts blakus cilpu For attiecīgajā sadaļā.
Cikli
1. Kamēr: tas izpildīs visas komandas, kas norādītas starp do un done, kamēr nosacījums ir patiess. Ja mēs vēlamies tam nodot salīdzināšanas operatorus, izteicienam jābūt iekavās.
kamēr CONDITION / COMMAND izpilda komandas
Piemērs: skaitļa reizināšanas tabula
#! / bin / bash X = 1 atbalss "Ievadiet skaitli un nospiediet taustiņu ENTER" lasiet M #Cilpa kontrolē, ka X ir mazāks vai vienāds ar 10, bet [$ X –le 10] do # IN mēs glabājam reizinājumu X ar MR = $ [X * M] # Šis reizinājums tiek uzdrukāts uz ekrāna atbalss "$ M * $ X = $ R" #Atļaujot, mēs palielinām X vērtību par 1 vienību, ļaujiet X = $ X + 1 izdarīt
2. For: saglabā mainīgo elementu sarakstu, kas tiks izmantots, lai veiktu noteiktas darbības ar katru ciklu.
VARIABLE elementā ELEMENTS veic komandas
Piemērs: programma, kas kopē failu no vienas mapes uz citu, aizstājot veco failu.
# / bin / bash # Mēs izveidojam avota un mērķa direktorijus ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # Mēs pozicionējam sevi avota CD $ ORIGIN # No visiem failiem mēs vēlamies tikai to, kas ir # call FILE for FILE * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f filtrē mūs parastos failus, jo direktoriji mums # nav nekas labs. –Nt filtrē # failus “jaunākus” nekā tie, kas atrodas # mērķa mapē, ja [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; tad atbalss "$ FILE kopēšana ..." # mēs kopējam failu ar cp cp $ FILE $ ARCH-DESTINATION fi done #We cd, lai izietu no avota mapes cd
Vēl viens piemērs: skripts, kurā lietotājam jāuzmin datora ģenerēts nejaušs skaitlis.
# / bin / bash # Nejaušs skaitlis tiek ģenerēts no 1 līdz 10, tas # tiek saglabāts RANDOM RANDOM = $ [$ RANDOM% 10 + 1], savukārt [1] veic atbalss –n “Ievadiet numuru:“ lasiet NUM # Salīdziniet, ja lietotāja izvēlētais skaitlis ir # vienāds ar RANDOM; atcerieties izmantot $, lai novērtētu mainīgo # vērtības, nevis to nosaukumus, ja [“$ NUM –eq“ $ RANDOM ”]; tad atbalss "Tev viss ir pareizi!" # break ļauj pārtraukt cilpu, kamēr pārtraukums # Ja skaitlis ir mazāks par RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; tad atbalss "Tas ir mazāk" "Ja nē, tas ir lielāks nekā RANDOM, pārējais atbalss" IR lielāks "ir izdarīts
3. Līdz: pēc struktūras ir diezgan līdzīgs kamēr, izņemot to, ka kods vienmēr tiek izpildīts, kamēr nosacījuma novērtējums ir negatīvs, tas ir, programma turpina izpildīt "līdz nosacījuma iestāšanās brīdim"
līdz CONDITION / COMMAND veic komandas
Piemērs: izdrukājiet skaitļus 10-20 dilstošā secībā
#! / bin / bash CONT = 20 # Kamēr skaitītājs ir mazāks par 10 (-lt, "zemāks # nekā"), kods tiek izpildīts līdz [$ CONT -lt 10]; do echo "COUNTER $ CONT" #A CONT tiek atņemta ar vienību, kas ļauj CONT- = 1 izdarīt
4. Atlasīt: šis pēdējais cikls ir īpašs gadījums, jo to parasti izmanto, lai ātri izveidotu izvēlnes. Tas darbojas līdzīgi kā cilpa For.
izvēlēto VARIABLE izpildīto komandu sarakstā
Piemērs: dodiet lietotājam iespēju turpināt vai beigt skriptu.
#! / bin / bash #item ir mainīgais, kas reaģē uz to, ko izvēlas # lietotājs, Turpināt un Pabeigt ir # pieejamās opcijas, lai gan citas opcijas var pievienot # vēl atlasiet vienumu sadaļā Turpināt Pabeigt dariet # Ja lietotājs izvēlas beigt programmu, tad ar pārtraukumu mēs izejam no cikla. ja [$ item = "Pabeigt"]; tad pārtraukums fi darīts