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!