case

The opening case, patterns, and closing esac should be indented to the same level. If a pattern consists of a single action, it can be written on a single line with a single space before the terminator (;;) as long as the entire line is less than 80 characters wide. Split multiple statements onto multiple lines and place the terminator (;;) on its own line. Do not use the terminator (;;) for fallback pattern *.

case "$item1" in
patternA) ... ;; # optional comment
patternB) # optional comment
    ...
    ...
    ;;
*) ...
esac
if [ "$item2" ]; then
    case "$item2" in
    patternC) # optional comment
        ...
        ...
        ;;
    *) # optional comment
        ...
        ...
    esac
fi

Last updated