Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getopt(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getopt(3C)

getopts(1)

sh(1)






       getopt(1)                                                  getopt(1)


       NAME
             getopt - parse command options

       SYNOPSIS
             set -- `getopt optstring $*`

       DESCRIPTION
             The getopts(1) command supersedes getopt.  See the NOTICES
             section for more information.

             getopt is used to break up options in command lines for easy
             parsing by shell procedures and to check for valid options.
             It recognizes supplementary code set characters in the
             argument given to optstring according to the locale specified
             in the LC_CTYPE environment variable [see LANG on environ(5)].

             optstring is a string of recognized option letters; see
             getopt(3C).  If a letter is followed by a colon, the option is
             expected to have an argument that may or may not be separated
             from it by white space.  The special option -- is used to
             delimit the end of the options.  If it is used explicitly,
             getopt recognizes it; otherwise, getopt generates it; in
             either case, getopt places it at the end of the options.  The
             positional parameters ($1 $2 . . . ) of the shell are reset so
             that each option is preceded by a - and is in its own
             positional parameter; each option argument is also parsed into
             its own positional parameter.

          Files
             /usr/lib/locale/locale/LC_MESSAGES/uxcore
                   language-specific message file [See LANG on environ(5).]

          Diagnostics
             getopt prints an error message on the standard error when it
             encounters an option letter not included in optstring.

       USAGE
             Reset OPTIND to 1 when rescanning the options.

             getopt does not support the part of Rule 8 of the command
             syntax standard [see intro(1)] that permits groups of option-
             arguments following an option to be separated by white space
             and quoted.  For example,





                           Copyright 1994 Novell, Inc.               Page 1













      getopt(1)                                                  getopt(1)


                  cmd -a -b -o "xxx z yy" file

            is not handled correctly.  To correct this deficiency, use the
            getopts command instead of getopt.

            If an option that takes an option-argument is followed by a
            value that is the same as an option listed in optstring
            (referring to the earlier ``Examples'' section, but using the
            following command line: cmd -o -a file), getopt always treats
            -a as an option-argument to -o; it never recognizes -a as an
            option.  For this case, the for loop in the example shifts
            past the file argument.

         Examples
            The following code fragment shows how you might process the
            arguments for a command that can take the options a or b, as
            well as the option o that requires an argument:

                  set -- getopt abo: $*
                  if [$? != 0]
                  then
                       echo $USAGE
                       exit 2
                  fi
                  for i in $*
                  do
                       case $i in
                       -a | -b)  FLAG=$i; shift;;
                       -o)       OARG=$2; shift 2;;
                       --)       shift; break;;
                       esac
                  done

            This code accepts any of the following as equivalent:

                  cmd -aoarg file file
                  cmd -a -o arg file file
                  cmd -oarg -a file file
                  cmd -a -oarg -- file file

      NOTICES
         Future Directions
            getopt will not be supported in the next major release.  For
            this release a conversion tool has been provided, getoptcvt.
            For more information about getopts and getoptcvt, see
            getopts(1).


                          Copyright 1994 Novell, Inc.               Page 2













       getopt(1)                                                  getopt(1)


       REFERENCES
             getopt(3C), getopts(1), sh(1)














































                           Copyright 1994 Novell, Inc.               Page 3








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026