MC, 2025
Ilustracja do artykułu: Bash case statement examples: Sužinokite, kaip naudoti efektyviai

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!

Imię:
Treść: