Reference: switch
Author: Daniel Gilly & the Staff of O'Reilly & Associates
Date: 1998-08-06T21:59:34Z

#

| Chapter 5 The C Shell |

## switch

    switch

Process commands depending on 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` are executed; if `string` matches `pattern2`, the second set of `commands` are 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 pattern-matching symbols `*`, `?`, and `[` `]`. breaksw is used to exit the switch after `commands` are executed. If breaksw is omitted (which is rarely done), the switch continues to execute another set of commands until it reaches a breaksw or endsw. Below is the general syntax of switch, side-by-side with an example that processes the first command-line argument.

>     switch (string)	switch ($argv[1])
>       case pattern1:	  case -[nN]:
>           commands	      nroff $file | lp
>           breaksw	      breaksw
>       case pattern2:	  case -[Pp]:
>           commands	      pr $file | lp
>           breaksw	      breaksw
>       case pattern3:	  case -[Mm]:
>           commands	      more $file
>           breaksw	      breaksw
>           .	  case -[Ss]:
>           .	      sort $file
>           .	      breaksw
>       default:	  default:
>           commands	      echo "Error-no such option"
>          	      exit 1
>           breaksw	      breaksw
>     endsw	endsw

Reference: suspend |  | Reference: time