case will selectively execute
the command-list corresponding to the first pattern that
SYNTAXThe `|' 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 `;;'.
case word in [ [(] pattern [| pattern]...) command-list ;;]... esac
caseclauses, each terminated by a `;;'. The first pattern that matches determines the command-list that is executed.
casein 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.