Conditionally perform a command,
case will selectively execute
the command-list corresponding to the first pattern that
Syntax case word in [ [(] pattern [| pattern]...) command-list ;;]... esacThe `|' 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 `;;'.
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.
"I saw a woman wearing a sweatshirt with "Guess" on it. I said, "Thyroid problem?" ~ Arnold Schwarzenegger
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