case

Expand words, and match against pattern.

Syntax
      case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac

A case command first expands word, and tries to match it against each pattern in turn, using the same matching rules as for pathname expansion (see Pathname Expansion).

The word is expanded using tilde expansion, parameter and variable expansion, arithmetic substitution, command substitution, process substitution and quote removal.

Each pattern examined is expanded using tilde expansion, parameter and variable expansion, arithmetic substitution, command substitution, and process substitution. If the shell option nocasematch is enabled, the match is performed without regard to the case of alphabetic characters.

When a match is found, the corresponding list is executed. After the first match, no subsequent matches are attempted.

The exit status is zero if no pattern matches. Otherwise, it is the exit status of the last command executed in list.

case is a bash builtin command.

Examples

An example using case in a script that could be used to describe one interesting feature of an animal:

echo -n "Enter the name of an animal: "
read ANIMAL
echo -n "The $ANIMAL has "
case $ANIMAL in
  (horse | dog | cat) legs=four;;
  (man | kangaroo ) legs=two;;
  (*) echo -n "an unknown number of";;
esac
echo $legs" legs."

“In expanding the field of knowledge, we but increase the horizon of ignorance” ~ Henry Miller

Related macOS commands

break - Exit from a loop.
for - Loop command.
while - Loop command.
continue - Resume the next iteration of a while or for loop.


 
Copyright © 1999-2024 SS64.com
Some rights reserved