Viens no elementārākajiem trikiem, veidojot bash skriptus, ietver cilpas izveidošanu, lai noteiktu uzdevumu varētu automātiski izpildīt vairākas reizes. Galu galā cilpa sasniegs iepriekš noteiktu testa stāvokli un pēkšņi pārtrauks izpildīt. Šādas cilpas lieliski darbosies Linux un MacOS bash, kā arī Windows 10 iekšējā apvalkā un pat dažādās FreeBSD čaulās. Protams, jūs varat ierakstīt jebkuru komandu, kuru vēlaties, jebkurā cilpā un saglabāt visu procesu jebkurā laikā. Lai gan mēs uzrakstīsim dažas ļoti vienkāršas cilpas, jūs varat izmantot šīs prasmes, lai izveidotu jebkura veida skriptus, kurus vēlaties.
Ir daudz veidu, kā sākt rakstīt skriptu, taču šajā diskusijā mēs pieņemsim, ka esat atvēris komandu uzvedni, meklējot termināli Dash, noklikšķinot uz tā KDE, MATE, LX vai Whisker izvēlnēs vai vienlaikus turot nospiestu Ctrl, Alt un T. Kamēr mēs par redaktoriem apspriedīsim vi / vim un nano, jautājums, kuru redaktoru izmantot, ir diezgan personisks, un jūs varētu strādāt ar visu, kas jums patīk.
1. metode: Loop līdz
Varbūt visvienkāršākā cilpa bash ir līdz cilpa. Tas turpinās izpildīt komandas, līdz iestatītais testa nosacījums kļūs patiess. Pieņemsim, ka esat izmantojis nano vai vi, lai atvērtu neeksistējošu failu ar nosaukumu.sh un būtu gatavs tajā ievietot jaunu tekstu. Mēs vienkārši izveidosim kaut ko tādu, kas jūsu terminālā skaitīs līdz 20, lai sākumā tas būtu ērti.
Sāciet, ierakstot šādi:
#! / bin / bash
n = 0
līdz [$ n -gt 20]
darīt
atbalss $ n
((n ++))
izdarīts
Ja izmantojat nano, saglabājiet to, turot nospiestu Ctrl un pēc tam nospiežot O un visbeidzot X, lai izietu. Lietotāji vi vēlēsies nospiest aizbēgt, pēc tam ierakstiet: wq, lai saglabātu un izietu.
Nākamais tips chmod + x līdz cilpa uzvednē, lai padarītu to izpildāmu, un pēc tam ierakstiet ./untilLoop lai to palaistu. Kad cilpa darbosies, cilpa turpinās drukāt jaunus numurus jūsu terminālā, līdz n mainīgais sasniegs 20.
Starp citu, pirmā rindiņa jūsu videi norāda, kuru čaulu ir jāielādē, strādājot ar šiem skriptiem. Daži programmētāji iesaka tikai izmantot #! / Bin / sh, lai nodrošinātu, ka skripts atbilst noteiktiem POSIX standartiem, taču šiem vienkāršajiem skriptiem nevajadzētu būt problēmām, kas darbojas lielākajā daļā mūsdienu sistēmu.
2. metode: cilpa
A for cikls apskata visus elementus dotajā sarakstā un pēc tam izpilda doto komandu kopu šajā sarakstā. Mēs izgatavosim tādu, kurā tiks izdrukāti daži operētājsistēmu nosaukumi, taču vēlreiz paturiet prātā, ka, ja vēlaties, jūs ar to varētu darīt jebko.
Vai nu ierakstiet nano forLoop vai mēs forLoop komandu uzvednē un sāciet ievadīt šo nākamo skriptu. Pirms vi lietotājiem būs jāievada ievietošanas režīms.
#! / bin / bash
unices = ’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix’
par unix $ unices
darīt
echo $ unix
izdarīts
Saglabājiet failu vēlreiz, izmantojot Ctrl + O un pēc tam Ctrl + X metodi nano vai Esc, pēc tam: wq metodi VI pirms komandas izsniegšanas chmod + x forLoop lai tas būtu izpildāms. Kad esat to izdarījis, palaidiet to, ierakstot ./parLoop pēc uzvednes. For loop liek atbalss komandai pēc kārtas strādāt ar katru no mainīgajiem vienību elementiem. Jūs varētu vēlreiz aizstāt šo sarakstu ar jebkuru argumentu un aizstāt atbalss ar jebkuru komandu, lai automatizētu garus procesus.
3. metode: kamēr cilpa
Sāciet rediģēt trešo failu, ko sauc whileLoop, izmantojot nano, vi vai citus redaktorus, kurus vēlaties izmantot. Ja vēlaties izmantot grafisko teksta redaktoru, tad to faktiski varētu izdarīt arī ar jebkuru no šiem projektiem, ja vien pārliecinieties, ka fails ir ievietots tajā pašā direktorijā, kurā strādājat no komandrindas iekšpuses. .
Šajā failā vēlaties pievienot rindas:
#! / bin / bash
n = 0
kamēr [$ n -le 20]
darīt
atbalss $ n
((n ++))
izdarīts
Saglabājiet failu tāpat kā citus un pēc tam izejiet no teksta redaktora. Kad esat aizgājis, izdodiet komandu chmod + x whileLoop lai ļautu jums to izpildīt un pēc tam palaist ./ whileLoop lai to palaistu. Jūs redzēsiet to pašu izvadi, kas iznāca no skripta tillLoop, izmantojot pirmo metodi, jo tas skaitās no 0 līdz 20 vairāk nekā iespējams sekundes daļās.
Tas ir lielisks pierādījums tam, ka ir vairāk nekā viens veids, kā darīt lietas, kad vien strādājat ar cilpām šādā veidā. Lai gan tehniski nav nepareiza veida, kā to izdarīt, jūs, iespējams, sastapsieties ar skriptu autoriem, kuri apgalvo, ka jums vajadzētu rakstīt savus skriptus tuvāk tam, kā C programmēšanas valoda dara lietas, vai arī citi var ieteikt jums to nedarīt. Godīgi sakot, iespējams, ka ir daudz pareizu problēmu risināšanas veidu.
Kad esat pabeidzis ar tiem vingrinājumus, varat izdzēst skriptus.
3 minūtes lasīts