Bash case statement examples: Sužinokite, kaip naudoti efektyviai
Bash scenarijų rašymas yra viena iš naudingiausių įgūdžių, kuriuos galima išmokti dirbant su Linux arba Unix aplinkomis. Vienas iš dažniausiai naudojamų įrankių yra case statement, kuris leidžia lengvai valdyti šakines sąlygas. Šiame straipsnyje mes apžvelgsime, kaip veikia bash case statement, kokie yra jo privalumai ir pateiksime keletą praktinių pavyzdžių, kad galėtumėte geriau suprasti, kaip juo naudotis.
Ką reiškia bash case statement?
Prieš pradėdami gilintis į pavyzdžius, paaiškinkime, kas yra bash case statement. Tai speciali sąlyginė konstrukcija, kuri leidžia palyginti tam tikrą reikšmę su įvairiais variantais ir atlikti atitinkamus veiksmus priklausomai nuo to, kuri reikšmė atitinka. Palyginti su tradiciniais if-else įrašais, case statement yra paprastesnis ir lengviau skaitomas, kai reikia atlikti daugybę palyginimų.
Šis įrankis yra labai naudingas, kai turime daugiau nei dvi sąlygas ir norime atlikti skirtingus veiksmus priklausomai nuo to, kuri sąlyga yra įvykdyta. Tai padeda išlaikyti kodą švaresnį ir lengviau suprantamą.
Kaip naudoti bash case statement?
Bash case statement struktūra yra gana paprasta ir susideda iš keleto pagrindinių komponentų. Štai bazinis sintaksės pavyzdys:
case "$kintamasis" in
reikšmė1)
# Komandos, jei atitinka reikšmė1
;;
reikšmė2)
# Komandos, jei atitinka reikšmė2
;;
*)
# Komandos, jei nei viena iš reikšmių neatitinka
;;
esac
Paaiškinkime šią sintaksę:
- case "$kintamasis" in: Čia mes tikriname, koks yra kintamojo turinys.
- reikšmė1), reikšmė2): Tai yra galimi kintamojo turinio variantai, kuriuos tikriname. Jei kintamasis atitinka vieną iš jų, vykdoma atitinkama komanda.
- ;;: Tai pabaigia atitinkamą pasirinkimą ir pereina prie kito.
- *: Tai yra "catch-all" pasirinkimas, kuris įvyksta, jei nei viena iš ankstesnių reikšmių neatitinka.
- esac: Tai tiesiog atvirkštinė "case" raktažodžio forma, kuri žymi pabaigą.
Bash case statement pavyzdžiai
Dabar pažvelkime į kelis praktinius bash case statement pavyzdžius, kad geriau suprastume, kaip jis veikia įvairiose situacijose.
1. Paprastas case statement
Šiame pavyzdyje patikrinsime, kokį dienos laiką vartotojas nurodė, ir atsakysime pagal tai:
echo "Įveskite dienos laiką (pavyzdžiui, rytas, pietūs, vakaras):"
read laikas
case "$laikas" in
rytas)
echo "Labas rytas!"
;;
pietūs)
echo "Gero pietų laiko!"
;;
vakaras)
echo "Gero vakaro!"
;;
*)
echo "Nežinomas laikotarpis."
;;
esac
Čia, priklausomai nuo vartotojo įvestos reikšmės, mes suteikiame jam atitinkamą pasveikinimą. Jei jis įves kitą reikšmę, sistema atsakys "Nežinomas laikotarpis".
2. Case su keliomis reikšmėmis
Galime taip pat naudoti kelias reikšmes viename atvejyje. Šiame pavyzdyje patikrinsime, ar įvestas skaičius yra lyginis ar nelyginis:
echo "Įveskite skaičių:"
read skaicius
case "$skaicius" in
2|4|6|8|10)
echo "Skaičius yra lyginis."
;;
1|3|5|7|9)
echo "Skaičius yra nelyginis."
;;
*)
echo "Įveskite galiojantį skaičių."
;;
esac
Čia mes tikriname, ar vartotojas įvedė lyginį ar nelyginį skaičių. Naudodami | operatorių mes sujungiame kelias reikšmes į vieną patikrinimą.
3. Naudojant failo egzistavimo patikrinimą
Kitas naudingas pavyzdys - tikrinti, ar tam tikras failas egzistuoja. Šiame pavyzdyje mes bandysime atidaryti failą ir informuosime vartotoją apie tai:
echo "Įveskite failo pavadinimą:"
read failo_pavadinimas
case "$(test -f "$failo_pavadinimas" && echo "exist" || echo "not exist")" in
exist)
echo "Failas egzistuoja!"
;;
not\ exist)
echo "Failas neegzistuoja."
;;
*)
echo "Nepavyko atlikti patikrinimo."
;;
esac
Šiame pavyzdyje mes naudojame test komandą, kad patikrintume, ar failas egzistuoja, ir sukurkime atitinkamą atsakymą.
4. Su keliomis sąlygomis ir veiksmais
Jei reikia atlikti kelis veiksmus pagal atitinkamą reikšmę, tai taip pat galima padaryti naudojant bash case statement. Pavyzdžiui, galime sukurti meniu sistemą:
echo "Pasirinkite veiksmą:"
echo "1. Atidaryti programą"
echo "2. Išjungti kompiuterį"
echo "3. Peržiūrėti dokumentus"
read pasirinkimas
case "$pasirinkimas" in
1)
echo "Atidaroma programa..."
;;
2)
echo "Išjungiamas kompiuteris..."
;;
3)
echo "Peržiūrimi dokumentai..."
;;
*)
echo "Neteisingas pasirinkimas."
;;
esac
Čia mes sukuriame paprastą meniu, kuriame vartotojas pasirenka, ką nori daryti. Kiekvienas pasirinkimas atitinka tam tikrą veiksmą.
Apibendrinimas
Bash case statement yra galinga priemonė, leidžianti efektyviai ir aiškiai valdyti įvairius sprendimus scenarijuose. Naudodami šį įrankį galite rašyti švaresnį, lengviau suprantamą ir labiau prižiūrimą kodą. Tikimės, kad šie pavyzdžiai padės jums geriau suprasti, kaip veikia bash case statement ir kaip jį pritaikyti kasdieniame programavimo darbe. Nepriklausomai nuo to, ar esate naujokas, ar patyręs programuotojas, bash case statement gali padėti jums užbaigti užduotis greičiau ir efektyviau.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!