O'Reilly logo

Linux in a Nutshell, Fourth Edition by Aaron Weber, Stephen Figgins, Ellen Siever

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 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])
  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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required