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
In the below example, the
abc matches both first and third case but not the second case. So, second case is not executed.