BASH (joka tarkoittaa Bourne Again Shell) on skriptauskieli, jota useimmat Linux- ja UNIX-pohjaiset käyttöjärjestelmät käyttävät.
Voit käyttää BASH-komentoja pääteikkunan ikkunassa peräkkäin tai lisätä komentoja tekstitiedostoon komentorivin luomiseksi.
Suuri käsitys komentosarjoista on, että voit käyttää niitä uudelleen ja uudelleen. Oletetaan esimerkiksi, että sinun on lisättävä käyttäjä järjestelmään, asetettava käyttöoikeudet ja hallittava niiden aloitusympäristö. Voit joko kirjoittaa komentoja paperiin ja käyttää niitä lisäämällä uusia käyttäjiä tai voit kirjoittaa yhden käsikirjoituksen ja siirtää parametrit kyseiseen komentosarjaan.
BASH: n skriptikielillä on samanlaiset ohjelmointikehitykset kuin muilla kielillä. Voit esimerkiksi tuoda parametreja syöttämään syötteen näppäimistöstä ja tallentaa ne muuttujiksi. Tämän jälkeen skriptin voi suorittaa tietyn toimenpiteen, joka perustuu syötettyjen parametrien arvoon.
Minkä tahansa ohjelmoinnin ja komentosarjakielen keskeinen osa on kyky käyttää samaa koodia uudelleen ja uudelleen.
Useita tapoja toistaa koodia (kutsutaan myös silmukoiksi). Tässä oppaassa näytetään, kuinka voit kirjoittaa "for" -silmukan.
varten loop toistaa tietyn osan koodista yhä uudelleen. Ne ovat hyödyllisiä niin, että sarja komentoja voi jatkua, kunnes tietyt edellytykset täyttyvät, minkä jälkeen ne pysähtyvät.
Tässä oppaassa näytetään viisi tapaa käyttää silmukan silmukkaa BASH-komentosarjan sisällä.
Ennen käyttöönottoa
Ennen kuin aloitat silmukan esimerkkien käyttöön, sinun on avattava päätelaite ja noudata seuraavia ohjeita:
-
Tulla sisään mkdir-skriptejä (lisätietoja tästä mkdiristä).
-
Tulla sisään cd-skriptejä (tämä muuttaa hakemiston kohteeseen skriptejä ).
-
Tulla sisään nano examplen.sh (missä n on esimerkki, jota työskentelet).
-
Kirjoita käsikirjoitus.
-
Lehdistö CTRL + O tallentaa ja CTRL + X poistua.
-
Juosta bash examplen.sh (taas, n esimerkkinä olet tekemässä).
Kuinka kierrä luettelossa
#! / bin / bashfor numero 1 2 3 4 5doecho $ numberdoneexit 0
BASH-tapa käyttää "for" -silmukoita on hieman erilainen kuin useimmat muut ohjelmointi- ja skriptikielet käsittelevät "silmukoita". Let's break käsikirjoitus alas. Vuonna BASH "for" silmukka kaikki, lausunnot välillä tehdä ja tehty suoritetaan kerran jokaisesta listan kohdasta. Yllä olevassa esimerkissä luettelo on kaikki, joka tulee sanan jälkeen sisään (eli 1 2 3 4 5). Joka kerta, kun silmukka iteroidaan, seuraava luetteloarvo lisätään sanan jälkeen määritettyyn muuttujalle "For" . Edellä olevassa silmukassa muuttujaa kutsutaan määrä . Kaiun ilmaisua käytetään näyttöön tuleviin tietoihin näytölle. Siksi tämä esimerkki ottaa numerot 1-5 ja antaa ne yksitellen näytölle: Edellä mainitun esimerkin ongelma on se, että jos haluat käsitellä isomman luettelon (sanoa 1-500), kaikkien aikojen ikäryhmät kirjoittaisivat kaikki numerot. Tämä tuo meidät toiseen esimerkkiin, joka osoittaa, miten määritetään aloitus- ja loppupiste: #! / bin / bashfor numero numeroon {1..10} doecho "$ number" doneexit 0
Säännöt ovat periaatteessa samoja. Arvot sanan " sisään" koota luettelo iteroitavaksi ja jokainen arvo listassa asetetaan muuttujaan (eli numeroon) ja joka kerta, kun silmukka iteroi, lausunnot tehdä ja tehty suoritetaan. Tärkein ero on tapa, jolla luettelo muodostuu. Curly-kiinnikkeet {} pohjimmiltaan merkitsevät alueita, ja alue on tässä tapauksessa 1 - 10 (kaksi pistettä erottavat alueen alku- ja loppupisteet). Tästä syystä tämä esimerkki kulkee jokaisen numeron välillä 1 - 10 ja antaa numeron näytölle seuraavasti: Samaa silmukkaa olisi voitu kirjoittaa tällä tavoin, samanlaisen syntaksin kanssa kuin ensimmäinen esimerkki: numeroon 1 2 3 4 5 6 7 8 9 10 Edellisessä esimerkissä kävi ilmi alkupääte- ja loppupisteen välinen silmukka, joten nyt tarkastelemme, kuinka ohittaa numerot valikoimasta. Kuvittele, että haluat silmukan välillä 0-100, mutta näytät vain joka kymmenes numero. Seuraava käsikirjoitus näyttää, miten tehdä juuri tämä: #! / bin / bashfor numero numeroon {0..100..10} doecho "$ number" doneexit 0
Säännöt ovat periaatteessa samoja. On olemassa luettelo, muuttuja ja joukko lausumia, jotka on tehtävä välillä tehdä ja tehty . Tämä lista näyttää tällä kertaa: {0..100..10}. Ensimmäinen numero on 0 ja lopetettu numero on 100. Kolmas numero (10) on luettelossa olevien kohteiden määrä, jolle se ohittaa. Edellä oleva esimerkki näyttää siis seuraavan lähdön: BASH-kirjoituskieli silmukoille on hieman kummallista verrattuna muihin ohjelmointikieliin. Voit kuitenkin kirjoittaa silmukalle samanlaisen tyylin kuin C-ohjelmointikieli, kuten: #! / bin / bashfor ((numero = 1; numero <100; numero ++)) {if (($ numero% 5 == 0)) thenecho "$ numero on jaollinen 5" fi}
Silmukka alkaa asettamalla muuttuvan numeron arvoon 1 (numero = 1 ). Silmukka jatkaa iteraatiota, kun numeron arvo on alle 100 ( numero <100 ). Arvo määrä muutetaan lisäämällä siihen 1 jokaisen iteraation jälkeen ( numero ++ ). Kaikki kiharaiset ripustimet suoritetaan jokaisen silmukan iteroinnin kautta. Pituuksien välinen bitti tarkistaa arvon a määrä , jakaa sen 5: llä ja vertaile loppuosaa 0. Jos loppuosa on 0, numero on jaollinen 5: llä ja näytetään sitten näytöllä. Esimerkiksi: Jos haluat muuttaa iteroinnin askelluskokoa, voit muuttaa numero-osaa ++ numero = numero + 2 , numero = numero + 5 , tai numero = numero + 10 jne. Tätä voidaan edelleen vähentää numero + = 2 tai numero + = 5 . Silmukat voivat tehdä enemmän kuin toerata numeroita. Voit todella käyttää muiden komentojen tuottoa luettelona. Seuraavassa esimerkissä kuvataan, miten äänitiedostoja MP3: stä voidaan muuntaa WAV: #! / Bin / bashtiedostossa ./*.mp3dompg -w ./wavs/"${file}".wav "$ file" tehty
Tässä esimerkissä oleva luettelo on jokainen tiedosto, jossa nykyisen kansion .MP3-laajennus ja muuttuja on a tiedosto . mpg komento muuntaa MP3-tiedoston WAViksi. Sinun on kuitenkin todennäköisesti asennettava tämä ensin paketinhallinnan avulla.
Miten lukita alkamis- ja loppupisteitä
Kuinka ohittaa numerot alueelta
Lisää perinteinen etsivät silmukkaa
Käytännön esimerkki