# Basic syntax:
case "STRING" in
patterns)
echo "commands to perform if patterns matched STRING"
;;
to)
echo "commands to perform if to matched STRING"
;;
search)
echo "commands to perform if search matched STRING"
;;
*)
echo "anything that wasn't matched by the previous patterns"
exit 1
;;
esac
# Example usage:
# If you want to write a bash script where you ask the user how to proceed, you
# could do something like this:
read -r -p $'
Do you want to perform this action? (y/n/q): ' RESPONSE
case $RESPONSE in
[Yy]*)
echo "The user chose y"
;;
[Nn]*)
echo "The user chose n"
;;
[Qq]*)
echo "The user chose q, script aborted"
exit 0
;;
*)
echo "The user chose something other than y, n, or q"
;;
esac
# Note, the patterns like [Yy]* will match the string in $RESPONSE if that
# string starts with Y or y followed by any number of other characters. So
# it would also match Yes, yes, yertyujiwjwijdwi, etc
# Note, if you want this message to keep repeating until the user types q, put
# the above in a while loop that never ends (e.g. while true; do ... done)