case: Conditionally perform a command

Conditionally perform a command, case will selectively execute
the command-list corresponding to the first pattern that
matches word.

Syntax
case word in [ [(] pattern [| pattern]...) command-list ;;]... esac
The `|? is used to separate multiple patterns,
and the `)? operator terminates a pattern list. A list of patterns
and an associated command-list is known as a clause. Each clause must
be terminated with `;;?.

The word undergoes tilde expansion, parameter expansion, command substitution,
arithmetic expansion, and quote removal before matching is attempted. Each pattern
undergoes tilde expansion, parameter expansion, command substitution, and arithmetic
expansion. There may be an arbitrary number of case clauses, each
terminated by a `;;?. The first pattern that matches determines the
command-list that is executed.

Here is 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) echo -n "four";;
man | kangaroo ) echo -n "two";;
*) echo -n "an unknown number of";;
esac
echo " legs."
The return status is zero if no pattern is matched.
Otherwise, the return status is the exit status of the command-list
executed. I saw a woman wearing a sweatshirt with "Guess" on it. I said, "Thyroid problem?" - Arnold Schwarzenegger
Related:

if - Conditionally perform a command
for - Expand words, and execute commands

until - Execute commands (until error)
while - Execute commands
Equivalent Windows command:
IF - Conditionally perform a command





Tags
Comments
Write the first comment
Leave a trace
Name *
Email *
Website
Anti SPAM * Code (3 + 9) =
Leave me a comment *
 
All comments are subject to editorial review
Post being viewed right now
Item date: 01.01.2009
Views: 714
Item date: 14.12.2009
Views: 870
Item date: 22.03.2011
Views: 780
Item date: 05.02.2009
Views: 1780
Item date: 21.07.2009
Views: 1063
Item date: 23.08.2009
Views: 1926
Item date: 21.07.2009
Views: 2007
Item date: 26.09.2009
Views: 1845
Item date: 23.12.2010
Views: 930
Item date: 01.10.2009
Views: 874