These are enhanced case terminators too, but they are only available in Bash from a version higher than 4.0. Here are the differences between the three operators:
- ;;: If the condition is matched, the other options will not be tested
- ;&: This makes the execution continue with the commands associated to the next condition
- ;;&: This makes the shell check the option and execute the associated commands if the condition is matched
If no matches are found, the exit status is 0; otherwise, the exit status is the one from the last command executed. We will see more about these terminators and the case constructor in the next chapter.