Logo fi.nowadaytechnol.com

Kuinka Käyttää BASHia Silmukkaan

Sisällysluettelo:

Kuinka Käyttää BASHia Silmukkaan
Kuinka Käyttää BASHia Silmukkaan

Video: Kuinka Käyttää BASHia Silmukkaan

Video: Kuinka Käyttää BASHia Silmukkaan
Video: Iga vanus ja suurus ILUS SUVINE КОФТОЧКА: MASTER-KLASS heegeldamine - MUSTER SKEEM 2024, Maaliskuu
Anonim

Yksi perustavanlaatuisimmista temppuista bash-komentosarjojen kirjoittamisessa on silmukan luominen, jotta tietyt tehtävät voidaan suorittaa automaattisesti useita kertoja. Lopulta silmukka saavuttaa ennalta määrätyn testiolosuhteen ja lakkaa yhtäkkiä suorittamasta. Tällaiset silmukat toimivat täydellisesti bashissa Linuxissa ja macOSissa, Windows 10: n bash-kuoressa ja jopa FreeBSD: n eri kuoreissa. Luonnollisesti voit kirjoittaa minkä tahansa haluamasi komennon mihin tahansa silmukkaan ja pitää prosessin käynnissä haluamasi ajan. Vaikka kirjoitamme joitain yksinkertaisia silmukoita, voit käyttää näitä taitoja haluamiesi komentosarjojen kirjoittamiseen.

Komentosarjan kirjoittamisen aloittaminen on monia tapoja, mutta tässä keskustelussa oletetaan, että olet avannut komentokehotteen joko etsimällä terminaalia viivasta, napsauttamalla sitä KDE-, MATE-, LX- tai Whisker-valikoissa tai pitämällä alas Ctrl, Alt ja T samanaikaisesti. Vaikka keskustelemme vi / vimistä ja nanosta toimittajina, kysymys siitä, mitä editoria käytetään, on melko henkilökohtainen ja voit työskennellä minkä tahansa kanssa, jonka kanssa tunnet olosi mukavaksi.

Menetelmä 1: Loop-silmukka

Ehkä kaikkein perussilmukka bashissa on asti-silmukka. Se jatkaa komentojen suorittamista, kunnes asettamasi testiehto tulee totta. Oletetaan, että olet käyttänyt joko nanoa tai vi-tiedostoa avaamaan olematon tiedosto nimeltä.sh ja on valmis lisäämään siihen uutta tekstiä. Teemme terminaalissasi vain jotain, joka laskee 20: een, jotta tämä olisi aluksi helppoa.

Aloita kirjoittamalla seuraava:

#! / bin / bash

n = 0

asti [$ n -gt 20]

tehdä

kaiku $ n

((n ++))

tehty

Jos käytät nanoa, tallenna se pitämällä Ctrl-näppäintä alhaalla ja painamalla O ja lopuksi X poistuaksesi. Vi: n käyttäjät haluavat työntää paeta ja kirjoittaa: wq tallentaa ja lopettaa.

Image
Image

Seuraava tyyppi chmod + x, kunnes Loop pyydettäessä tekemään siitä suoritettava ja kirjoita sitten ./untilLoop käyttää sitä. Kun se on suoritettu, silmukka jatkaa uusien numeroiden tulostamista päätelaitteestasi, kunnes muuttuja n saa arvon 20.

Image
Image

Muuten, ensimmäinen rivi kertoo ympäristölle, mikä kuori ladataan, kun työskentelet näiden komentosarjojen kanssa. Jotkut ohjelmoijat neuvovat aina käyttämään #! / Bin / sh -käyttöjärjestelmää varmistaakseen, että komentosarjasi noudattaa tiettyjä POSIX-standardeja, mutta näillä yksinkertaisilla komentosarjoilla ei pitäisi olla mitään ongelmia käynnissä valtaosassa nykyaikaisia järjestelmiä.

Tapa 2: Silmukkaa varten

for loop tarkastelee jokaista alkion tietyssä luettelossa ja suorittaa sitten annetut komentosarjat kyseisessä luettelossa. Teemme sellaisen, joka tulostaa joitain käyttöjärjestelmien nimiä, mutta pidä mielessä jälleen, että voisit tehdä mitään tämän kanssa, jos haluat.

Kirjoita joko nano for Loop tai vi for silmukka komentokehotteessa ja ala kirjoittaa tätä seuraavaa komentosarjaa. Vi: n käyttäjien on siirryttävä lisäystilaan ennen kuin he tekevät niin.

#! / bin / bash

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

for unix in $ unices

tehdä

echo $ unix

tehty

Image
Image

Tallenna tiedosto uudelleen joko Ctrl + O- ja sitten Ctrl + X -menetelmällä nanossa tai Esc: n jälkeen: wq-menetelmä vi: ssä ennen komennon antamista chmod + x silmukka jotta se voidaan suorittaa. Kun sinulla on, suorita se kirjoittamalla . / silmukka pyydettäessä. For-silmukka pakottaa kaiku-komennon toimimaan vuorotellen kunkin unices-muuttujan kohteen kanssa. Voit vielä kerran korvata kyseisen luettelon millä tahansa argumentilla ja korvata kaikun millä tahansa komennolla pitkien prosessien automatisoimiseksi.

Image
Image

Menetelmä 3: Vaikka silmukka

Aloita muokkaamaan kolmatta tiedostoa Jos haluat mieluummin käyttää graafista tekstieditoria, voit itse tehdä sen myös kaikkien näiden projektien kanssa, kunhan asetat tiedoston samaan hakemistoon, jota työskentelet komentorivin sisäpuolelta.

Tämän tiedoston sisälle haluat lisätä rivit:

#! / bin / bash

n = 0

kun taas [$ n -le 20]

tehdä

kaiku $ n

((n ++))

tehty

Image
Image

Tallenna tiedosto samalla tavalla kuin muutkin ja poistu sitten tekstieditorista. Kun olet poistunut, anna komento chmod + x whileLoop jotta voit suorittaa sen ja sitten suorittaa ./ whileLoop käyttää sitä. Näet saman tuloksen, joka tuli ensimmäisen menetelmän tillLoop-komentosarjassa, koska se laskee 0: sta 20: een todennäköisesti sekunnin jaossa.

Image
Image

Tämä on erinomainen osoitus siitä, että on olemassa useita tapoja tehdä asioita aina, kun työskentelet silmukoiden kanssa tällä tavalla. Vaikka teknisesti ei ole väärää tapaa tehdä niin, olet todennäköisesti törmännyt käsikirjoittajiin, jotka väittävät, että sinun pitäisi kirjoittaa skriptisi lähemmäs tapaa, jolla C-ohjelmointikieli tekee asioita, tai vaihtoehtoisesti toiset saattavat ehdottaa, ettet tekisi tätä. Rehellisesti, on todennäköisesti monia oikeita tapoja ratkaista ongelma.

Voit vapaasti poistaa komentosarjat, kun olet harjoitellut niiden kanssa.

Suositeltava: