CASE Statement in Bash [Example]

The following article describes the basic syntax and includes a simple example of the BASH CASE statement usage.

The CASE statement is the simplest form of the IF-THEN-ELSE statement in BASH.

You may use the CASE statement if you need the IF-THEN-ELSE statement with many ELIF elements.

With the BASH CASE statement you take some value once and then test it multiple times.

Basic Syntax of the CASE Statement

case $variable in
     pattern-1)      
          commands
          ;;
     pattern-2)      
          commands
          ;;
     pattern-3|pattern-4|pattern-5)
          commands
          ;; 
     pattern-N)
          commands
          ;;
     *)
          commands
          ;;
esac

Example of a BASH Script with the CASE Statement

#!/bin/bash
printf 'Which Linux distribution do you know? '
read DISTR

case $DISTR in
     ubuntu)
          echo "I know it! It is an operating system based on Debian."
          ;;
     centos|rhel)
          echo "Hey! It is my favorite Server OS!"
          ;;
     windows)
          echo "Very funny..."
          ;; 
     *)
          echo "Hmm, seems i've never used it."
          ;;
esac

Run the script as follows:

$ ./testcase.sh
Which Linux distribution do you know? centos
Hey! It is my favorite Server OS!
$ ./testcase.sh
Which Linux distribution do you know? rhel
Hey! It is my favorite Server OS!
$ ./testcase.sh
Which Linux distribution do you know? ubuntu
I know it too! It is an operating system based on Debian.
$ ./testcase.sh
Which Linux distribution do you know? pfff
Hmm, seems i've never used it.