Name
switch
Synopsis
switch
Description
Process commands depending on the value of a variable. When you need to handle more than three choices, switch is a useful alternative to an if-then-else statement. If the string variable matches pattern1, the first set of commands is executed; if string matches pattern2, the second set of commands is executed; and so on. If no patterns match, execute commands under the default case. string can be specified using command substitution, variable substitution, or filename expansion. Patterns can be specified using the pattern-matching symbols *, ?, and [ ]. breaksw is used to exit the switch. If breaksw is omitted (which is rarely done), the switch continues to execute another set of commands until it reaches a breaksw or endsw. Following is the general syntax of switch, side-by-side with an example that processes the first command-line argument:
switch (string
)switch ($argv[1])
casepattern1
:case -[nN]:
commands
nroff $file | lp
breakswbreaksw
casepattern2
:case -[Pp]:
commands
pr $file | lp
breakswbreaksw
casepattern3
:case -[Mm]:
commands
more $file
breakswbreaksw
.case -[Ss]:
.sort $file
.breaksw
default:default:
commands
echo "Error—no such option"
exit 1
breakswbreaksw
endswendsw
Get Linux in a Nutshell, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.