Kuinka käyttää katkaisu- ja jatkolausekkeita Shell-skripteissä
Tässä artikkelissa tarkastelemme kuinka käyttää taukoa ja jatkaa bash-skripteissä. Bashissa meillä on kolme pääsilmukkarakennetta (for, while, kunnes). Break and jatko -lausekkeet ovat sisäänrakennettuja ja niitä käytetään silmukoiden virtauksen muuttamiseen. Tämä tauko- ja jatkokäsite on saatavana suosituilla ohjelmointikielillä, kuten Python.
$ type -a break continue
Poistu silmukasta Break-lauseella
Katkoslauseke poistuu silmukasta ja ohjaus siirretään seuraavaan silmukkaan. Voit suorittaa apua -komennon saadaksesi tietoja tauko-lauseesta.
$ help break
Taukojen perussyntaksi.
$ break [n] n is optional
Katso alla oleva esimerkki. Tämä on yksinkertainen silmukalle, joka toistuu arvojen alueella 1 - 20 inkrementaalivaiheessa 2. Ehdollinen käsky arvioi lausekkeen ja kun se on totta ($val = 9), se suorittaa tauko-lauseen ja silmukka lopetetaan ohittamalla jäljellä olevat iteraatiot.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Ohita iteraatio jatkoilmoituksella
Entä jos et halua poistua kokonaan silmukasta, mutta ohitat koodilohkon, kun tietty ehto täyttyy? Tämä voidaan tehdä jatkoilmoituksella. Jatka-käsky ohittaa koodilohkon suorittamisen, kun tietty ehto täyttyy ja ohjaus siirretään takaisin seuraavan käskyn silmukka-käskyyn.
Ohjeiden käyttäminen.
$ help continue
Katso alla oleva esimerkki. Tämä on sama esimerkki, jota käytimme havainnollistamaan rikkoutumislauseketta. Kun Val on arvioitu yhdeksään, jatko-lause ohittaa kaikki jäljellä olevat koodilohkot ja siirtää ohjauksen silmukalle seuraavaa iteraatiota varten.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Jos tiesit pythonin, rikkoa ja jatkaa käyttäytyminen on sama myös pythonissa. Mutta python tarjoaa vielä yhden silmukan ohjauslausekkeen, jota kutsutaan passiksi.
Pass on kuin tyhjä käsky, ja tulkki lukee sen, mutta ei tee mitään toimintoa. Se ei yksinkertaisesti johda toimintaan. Bash ei anna vastaavaa lausuntoa, mutta voimme jäljitellä tätä käyttäytymistä tosi avainsanalla tai kaksoispisteellä (:). Sekä tosi että kaksoispiste ovat sisäänrakennettuja kuorta, eivätkä ne tee mitään toimintoa.
$ type -a : true
Katso alla oleva esimerkki. Kun ehdollisen lauseen arvioidaan olevan tosi ($val = 9), tosi lause ei tee mitään ja silmukka jatkuu.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
Se on tässä artikkelissa. Haluaisimme kuulla arvokasta palautettasi ja vinkkejäsi.