Bash Case statement Fall through only if subsequent pattern(s) match


Example

4.0

Since Bash 4.0, another operator ;;& was introduced which also provides fall through only if the patterns in subsequent case statement(s), if any, match.

#!/bin/bash

var=abc
case $var in
a*)
  echo "Antartica"
  ;;&
xyz)
  echo "Brazil"
  ;;&
*b*)
  echo "Cat"
  ;;&
esac

Outputs:

Antartica
Cat

In the below example, the abc matches both first and third case but not the second case. So, second case is not executed.