The Bash case statement is used to match one value against multiple patterns. It is very useful when you want to create menu-based scripts, check user input, handle different options, or run different commands based on a selected value.
If you are learning Bash scripting, the case statement is an important topic after understanding if else. While if else is good for simple conditions, the case statement is cleaner when you have many possible choices.
Bash case statements are commonly used in Linux automation, cybersecurity scripts, system administration tools, backup scripts, and command-line menus.
A case statement compares a value with different patterns. When a matching pattern is found, the related command is executed.
Basic syntax:
case value in pattern1) command ;; pattern2) command ;; *) default command ;;esac
The case statement starts with case and ends with esac. The ;; symbol is used to end each pattern block.
Create a new Bash script:
nano case-example.sh
Add the following code:
#!/bin/bashday="Monday"case $day in Monday) echo "Today is Monday" ;; Tuesday) echo "Today is Tuesday" ;; Wednesday) echo "Today is Wednesday" ;; *) echo "Unknown day" ;;esac
Save the file and run it:
chmod +x case-example.sh./case-example.sh
Output:
Today is Monday
The case statement is often used with user input.
#!/bin/bashecho "Choose an option:"echo "1. Show current user"echo "2. Show current directory"echo "3. Show current date"read -p "Enter your choice: " choicecase $choice in 1) whoami ;; 2) pwd ;; 3) date ;; *) echo "Invalid option" ;;esac
This script creates a simple command-line menu. Based on the user’s choice, it runs a different Linux command.
You can match multiple patterns using the | symbol.
#!/bin/bashread -p "Enter yes or no: " answercase $answer in yes|Yes|y|Y) echo "You selected yes" ;; no|No|n|N) echo "You selected no" ;; *) echo "Invalid answer" ;;esac
This is useful when you want to accept different versions of the same input.
The Bash case statement is a clean and simple way to match patterns in shell scripts. It is especially useful when handling multiple choices, user input, and menu-based scripts.
For beginners, learning the case statement helps you write better Bash scripts with clear logic. It is widely used in Linux automation, cybersecurity tools, server scripts, and command-line utilities.
Introduction A self-signed SSL certificate is a certificate that is created and signed by the…
Introduction Debugging is an important part of Bash scripting. When a script does not work…
Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…
Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…
Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…
Introduction Working with files and directories is one of the most important skills in Bash…