Kaip naudoti „BASH for Loop“



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Vienas iš paprasčiausių gudrybių kuriant „bash“ scenarijus apima kilpą, kad tam tikrą užduotį galėtumėte kelis kartus atlikti automatiškai. Galų gale, kilpa pasieks iš anksto nustatytą bandymo sąlygą ir staiga nustos vykdyti. Tokios kilpos puikiai veiks „Linux“ ir „MacOS“ sistemose, taip pat „Windows 10“ esančiame „bash“ apvalkale ir net įvairiuose „FreeBSD“ apvalkaluose. Natūralu, kad galite parašyti bet kokią komandą, kuri jums labiau patinka, bet kurioje cikle ir bet kokį procesą išlaikyti bet kokį laiką. Nors mes parašysime keletą labai paprastų kilpų, galite naudoti šiuos įgūdžius, norėdami sukurti bet kokius scenarijus.



Yra daug būdų, kaip pradėti rašyti scenarijų, tačiau šios diskusijos metu manysime, kad atidarėte komandų eilutę ieškodami terminalo brūkšnyje, spustelėdami jį meniu KDE, MATE, LX arba Whisker arba vienu metu laikydami nuspaudę „Ctrl“, „Alt“ ir T. Nors aptarsime „vi / vim“ ir „nano“ kaip redaktorius, klausimas, kurį redaktorių naudoti, yra gana asmeniškas ir galite dirbti su tuo, kuo jaučiatės patogiai.



1 metodas: Iki kilpos

Bene pagrindinė „bash“ kilpa yra „iki“ kilpa. Jis vykdys komandas tol, kol jūsų nustatyta testavimo sąlyga taps teisinga. Manysime, kad naudojote „nano“ arba „vi“, kad atidarytumėte neegzistuojantį failą, vadinamą iki.sh, ir esate pasirengęs į jį įterpti naują tekstą. Mes tiesiog pagaminsime tai, kas jūsų terminale suskaičiuojama iki 20, kad iš pradžių būtų lengva.



Pradėkite rašydami:

#! / bin / bash

n = 0



iki [$ n-20 USD]

padaryti

aidas $ n

((n ++))

padaryta

Jei naudojate „nano“, išsaugokite jį laikydami nuspaudę „Ctrl“, tada paspauskite O ir galiausiai X, kad išeitumėte. „Vi“ vartotojai norės paspausti „escape“, tada įveskite: wq, jei norite išsaugoti ir mesti.

Kitas tipas chmod + x tol, kol kilpa paraginti padaryti jį vykdomąjį ir įveskite ./untilLoop jį paleisti. Kai ji bus paleista, kilpa spausdins naujus skaičius jūsų terminale, kol n kintamasis pasieks 20.

Beje, pirmoji eilutė jūsų aplinkai nurodo, kurį apvalkalą reikia įkelti dirbant su šiais scenarijais. Kai kurie programuotojai pataria visada naudoti #! / Bin / sh, kad jūsų scenarijus atitiktų tam tikrus POSIX standartus, tačiau šiems paprastiems scenarijams neturėtų kilti jokių problemų veikiant daugumai šiuolaikinių sistemų.

2 metodas: „Loop“

„A for loop“ pažvelgia į kiekvieną nurodyto sąrašo elementą ir tada atlieka tam tikrą komandų rinkinį tame sąraše. Mes padarysime tokį, kuris išspausdins keletą operacinių sistemų pavadinimų, tačiau dar kartą nepamirškite, kad jei norite, galite tai padaryti bet ką.

Taip pat įveskite nano forLoop arba mes užLoop komandinėje eilutėje ir pradėkite įvesti šį scenarijų. Prieš tai atlikdami, „vi“ vartotojai turės pereiti įterpimo režimą.

#! / bin / bash

unices = ’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix’

už unix $ unices

padaryti

echo $ unix

padaryta

Išsaugokite failą dar kartą naudodami „Ctrl + O“, tada „Ctrl + X“ metodą „nano“ arba „Esc“, tada: „wq“ metodas „vi“ prieš suteikiant komandą chmod + x forLoop kad jis būtų vykdomas. Kai turėsite, paleiskite jį įvesdami ./forLoop paraginus. „For loop“ priverčia echo komandą savo ruožtu dirbti su kiekvienu elementu kintamajame „unices“. Galite dar kartą pakeisti tą sąrašą bet kokiu argumentu, o aidą pakeisti bet kuria komanda ilgiems procesams automatizuoti.

3 metodas: tuo pačiu ciklas

Pradėkite redaguoti trečią failą, pavadintą „whileLoop“, naudodami „nano“, „vi“ ar bet kurį kitą norimą naudoti redaktorių. Jei norite naudoti grafinį teksto rengyklę, tai iš tikrųjų galite padaryti ir su bet kuriuo iš šių projektų, jei tik būtinai įdėsite failą į tą patį katalogą, kuriame dirbate iš komandų eilutės. .

Šio failo viduje norėsite pridėti eilučių:

#! / bin / bash

n = 0

o [$ n -le 20]

padaryti

aidas $ n

((n ++))

padaryta

Išsaugokite failą taip, kaip išsaugojote kitus, tada uždarykite teksto rengyklę. Išėję išeikite komandą chmod + x whileLoop kad galėtumėte jį įvykdyti ir paleisti ./ whileLoop jį paleisti. Pamatysite tą patį išvestį, kuris buvo iš scenarijaus „tillLoop“ iš pirmo metodo, nes jis skaičiuojamas nuo 0 iki 20 per greičiausiai per sekundės dalį.

Tai puikiai parodo faktą, kad yra daugiau nei vienas būdas atlikti veiksmus, kai dirbate tokiu būdu. Nors techniškai nėra neteisingo būdo tai padaryti, tikriausiai susidursite su scenarijų autoriais, kurie tvirtina, kad scenarijus turėtumėte parašyti arčiau to, kaip C programavimo kalba daro, arba kiti gali pasiūlyti, kad neturėtumėte to daryti. Sąžiningai, tikriausiai yra daug teisingų būdų išspręsti problemą.

Nedvejodami ištrinkite scenarijus, kai baigsite su jais praktikuotis.

3 minutes perskaityta