MC, 2025
Ilustracja do artykułu: Ang Sekreto ng case sa Bash: Huwag Palampasin Ito!

Ang Sekreto ng case sa Bash: Huwag Palampasin Ito!

Kung bago ka pa lang sa bash scripting o naghahanap ng mas maayos na paraan para iproseso ang maraming kondisyon sa iyong script, nasa tamang lugar ka! Ang artikulong ito ay magdadala sa iyo sa makulay na mundo ng bash case statement examples — mula sa pinaka-basic hanggang sa mas advanced na paggamit. Huwag kang mag-alala, masaya at praktikal ang pag-aaral nito!

Ano ang case statement sa Bash?

Ang case statement ay parang switch statement sa ibang programming languages tulad ng C, Java o PHP. Sa halip na gumamit ng maraming if-elif-else, pinapasimple nito ang pagpili sa pagitan ng maraming posibleng halaga. Napaka-kapaki-pakinabang nito kapag marami kang gustong i-handle na iba’t ibang inputs.

Basic na Syntax

Narito ang syntax ng case statement sa Bash:

case VARIABLE in
  PATTERN1)
    # Mga command
    ;;
  PATTERN2)
    # Mga command
    ;;
  *)
    # Default command kung wala sa mga pattern
    ;;
esac

Simple Bash Case Statement Example

Halimbawa, gumawa tayo ng simpleng script na magpi-print ng greeting depende sa araw ng linggo:

#!/bin/bash

echo "Anong araw ngayon?"
read araw

case $araw in
  Lunes)
    echo "Simula ng linggo! Let's go!"
    ;;
  Biyernes)
    echo "TGIF! Halos weekend na!"
    ;;
  Sabado|Linggo)
    echo "Masayang weekend!"
    ;;
  *)
    echo "Araw lang yan! Gawin nating makabuluhan."
    ;;
esac

bash case statement examples: paggamit ng multiple patterns

Gaya ng nakikita mo sa halimbawa sa itaas, maaari kang gumamit ng pipe symbol | para mag-combine ng maraming patterns sa isang case. Napaka-gamitin nito kung may mga katulad na action para sa iba’t ibang inputs.

Paggamit ng Arguments sa Script

Ang case statement ay mas epektibo rin kapag ang input ay nanggagaling sa command-line argument:

#!/bin/bash

command=$1

case $command in
  start)
    echo "Service sinisimulan..."
    ;;
  stop)
    echo "Service pinapatigil..."
    ;;
  restart)
    echo "Service nire-restart..."
    ;;
  *)
    echo "Utos hindi kilala. Gamitin: start|stop|restart"
    ;;
esac

bash case statement examples: case-insensitive matching

Ang case ay sensitibo sa mga titik, pero pwede natin itong gawing case-insensitive gamit ang pattern matching:

read -p "I-type ang YES o NO: " sagot

case "${sagot,,}" in
  yes)
    echo "Pinili mong YES"
    ;;
  no)
    echo "Pinili mong NO"
    ;;
  *)
    echo "Walang malinaw na sagot."
    ;;
esac

Ginamit natin dito ang ${sagot,,} para gawing lowercase ang input bago siya i-match.

bash case statement examples: numerical matching

Bagaman mas madalas ginagamit ang if para sa numbers, pwede pa rin gamitin ang case kung i-match mo lang ang eksaktong value:

read -p "Ilagay ang numerong grado: " grado

case $grado in
  90)
    echo "Perfect score!"
    ;;
  75)
    echo "Pasado!"
    ;;
  50)
    echo "Kailangan pang mag-aral."
    ;;
  *)
    echo "Iba ang grado mo."
    ;;
esac

Advanced Pattern Matching

Pwedeng gumamit ng wildcards gaya ng * at ? sa case statement:

filename="report2024.txt"

case $filename in
  *.txt)
    echo "Ito ay isang text file."
    ;;
  *.jpg|*.png)
    echo "Ito ay isang image file."
    ;;
  *)
    echo "Hindi kilalang file type."
    ;;
esac

bash case statement examples: integration sa loops

Maganda rin i-combine ang case statements sa loob ng loops. Halimbawa:

while true; do
  echo "Piliin ang opsyon: start, stop, exit"
  read choice

  case $choice in
    start)
      echo "Service nagsimula."
      ;;
    stop)
      echo "Service huminto."
      ;;
    exit)
      echo "Paalam!"
      break
      ;;
    *)
      echo "Hindi kilalang opsyon."
      ;;
  esac
done

Pagsusulit: Gamitin natin ito sa praktikal na script

Halimbawa, gusto mong gumawa ng menu-driven tool para sa simpleng system monitoring:

#!/bin/bash

echo "SYSTEM TOOL MENU"
echo "1. Disk Usage"
echo "2. Memory Info"
echo "3. Uptime"
echo "4. Lumabas"
read -p "Pumili (1-4): " choice

case $choice in
  1)
    df -h
    ;;
  2)
    free -m
    ;;
  3)
    uptime
    ;;
  4)
    echo "Salamat sa paggamit!"
    ;;
  *)
    echo "Maling input. Pakiulit."
    ;;
esac

Tips at Best Practices

  • Siguraduhing laging may *) clause para sa hindi inaasahang input.
  • Gamitin ang ;; nang tama para ihiwalay ang bawat case block.
  • Mas maganda kung consistent ang formatting ng iyong mga pattern para madaling basahin.

Konklusyon

Napaka-powerful ng bash case statement para sa shell scripting. Sa pamamagitan ng mga halimbawa na ito — na tiyak na kapaki-pakinabang — madali mong mapapaganda at mas mapapadali ang iyong mga script. Tandaan, kahit simple ang case, malaki ang ambag nito sa pagiging organisado at maintindable ng iyong code. Sana ay naging kapaki-pakinabang sa iyo ang koleksyon ng mga bash case statement examples na ito. Happy scripting!

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

Imię:
Treść: