Name
switch
Synopsis
switch
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 command
s is executed; if
string
matches
pattern2
, the second set of
command
s 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 Mac OS X Panther in a Nutshell, 2nd 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.