Kaip naudoti pertraukos ir tęsimo teiginius „Shell“ scenarijuose
Šiame straipsnyje apžvelgsime, kaip bash scenarijuose naudoti pertrauką ir tęsti. Bash kalboje turime tris pagrindines kilpos konstrukcijas (for, while, iki). Teiginiai Pertraukti ir tęsti yra įtaisyti ir naudojami jūsų kilpų eigai pakeisti. Ši pertraukos ir tęsimo koncepcija pasiekiama tokiomis populiariomis programavimo kalbomis kaip Python.
type -a break continue
Išeikite iš ciklo naudodami pertraukos pareiškimą
Teiginys break išeis iš ciklo ir valdymas perduodamas kitam ciklo sakiniui. Galite paleisti komandą help, kad gautumėte informacijos apie break teiginį.
help break
Pagrindinė pertraukos sintaksė.
break [n]
n is optional
Pažvelkite į žemiau pateiktą pavyzdį. Tai paprastas ciklas, kuris kartojasi verčių diapazone nuo 1 iki 20 laipsniškai 2 žingsniu. Sąlyginis sakinys įvertins reiškinį, o kai jis yra true($val=9), tada jis vykdys pertraukos teiginį ir ciklas bus nutrauktas praleidžiant likusias iteracijas.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
break
else
echo "printing ${val}"
fi
done
Praleiskite iteraciją naudodami tęstinį pareiškimą
Ką daryti, jei nenorite visiškai išeiti iš ciklo, bet praleisite kodo bloką, kai įvykdoma tam tikra sąlyga? Tai galima padaryti naudojant teiginį tęsti. Teiginys continue praleis kodo bloko vykdymą, kai įvykdoma tam tikra sąlyga, o valdymas grąžinamas į kilpos sakinį kitai iteracijai.
Norėdami pasiekti pagalbą.
help continue
Pažvelkite į žemiau pateiktą pavyzdį. Tai yra tas pats pavyzdys, kurį naudojome pertraukos teiginiui parodyti. Dabar, kai Val yra įvertintas iki devynių, sakinys continue praleis visus likusius kodo blokus ir perduos valdiklį for ciklai kitai iteracijai.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
continue
fi
echo "printing ${val}"
done
Jei žinojote python, tada pertraukimo ir tęsimo elgesys taip pat yra toks pat ir python. Tačiau „python“ pateikia dar vieną kilpos valdymo teiginį, vadinamą pasiekimu.
Patvirtinti yra tarsi nulinis teiginys ir vertėjas jį perskaitys, bet neatliks jokios operacijos. Dėl to paprasčiausiai nereikia operacijos. Bash nepateikia panašaus teiginio, bet galime imituoti šį elgesį naudodami tikrąjį raktinį žodį arba dvitaškį (:). Ir tiesa, ir dvitaškis yra įtaisyti apvalkale ir neatlieka jokios operacijos.
type -a : true
Pažvelkite į žemiau pateiktą pavyzdį. Kai sąlyginis teiginys įvertintas kaip true($val=9), teiginys true nieko nedarys ir ciklas bus tęsiamas.
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
true
fi
echo "printing ${val}"
done
Štai tiek šiam straipsniui. Norėtume išgirsti jūsų vertingus atsiliepimus ir bet kokius jūsų patarimus.