Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getoptcvt(1) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(1)

sh(1)

getopt(3C)



getopts(1)                                             getopts(1)



NAME
     getopts, getoptcvt - parse command options

SYNOPSIS
     getopts optstring name [ arg ... ]

     /usr/lib/getoptcvt [ -b ] file

DESCRIPTION
     getopts is used by shell procedures to parse positional
     parameters and to check for valid options.  It supports all
     applicable rules of the command syntax standard (see Rules
     3-10, intro(1)).  It should be used in place of the getopt
     command.  (See the NOTES section below.)

     optstring must contain the option letters the command using
     getopts will recognize; if a letter is followed by a colon,
     the option is expected to have an argument, or group of
     arguments, which must be separated from it by white space.

     Each time it is invoked, getopts places the next option in
     the shell variable name and the index of the next argument
     to be processed in the shell variable OPTIND.  Whenever the
     shell or a shell procedure is invoked, OPTIND is initialized
     to 1.

     When an option requires an option-argument, getopts places
     it in the shell variable OPTARG.

     If an illegal option is encountered, ?  will be placed in
     name.

     When the end of options is encountered, getopts exits with a
     non-zero exit status.  The special option -- may be used to
     delimit the end of the options.

     By default, getopts parses the positional parameters.  If
     extra arguments (arg ...)  are given on the getopts command
     line, getopts parses them instead.

     /usr/lib/getoptcvt reads the shell script in file, converts
     it to use getopts instead of getopt, and writes the results
     on the standard output.

     -b   Make the converted script portable to earlier releases
          of the UNIX system.  /usr/lib/getoptcvt modifies the
          shell script in file so that when the resulting shell
          script is executed, it determines at run time whether
          to invoke getopts or getopt.

     So all new commands will adhere to the command syntax stan-
     dard described in intro(1), they should use getopts or



Page 1                              CX/UX User's Reference Manual





getopts(1)                                             getopts(1)



     getopt to parse positional parameters and check for options
     that are valid for that command (see the NOTES section
     below).

EXAMPLE
     The following fragment of a shell program shows how one
     might process the arguments for a command that can take the
     options a or b, as well as the option o, which requires an
     option-argument:

          while getopts abo: c
          do
               case $c in
               a | b)    FLAG=$c;;
               o)        OARG=$OPTARG;;
               \?)       echo $USAGE
                         exit 2;;
               esac
          done
          shift `expr $OPTIND - 1`

     This code accepts any of the following as equivalent:

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

SEE ALSO
     intro(1), sh(1).
     getopt(3C) in the CX/UX Programmer's Reference Manual.

NOTES
     Although the following command syntax rule [see intro(1)]
     relaxations are permitted under the current implementation,
     they should not be used because they may not be supported in
     future releases of the system.  As in the EXAMPLE section
     above, a and b are options, and the option o requires an
     option-argument.  The following example violates Rule 5:
     options with option-arguments must not be grouped with other
     options:

          cmd -aboxxx file

     The following example violates Rule 6: there must be white
     space after an option that takes an option-argument:

          cmd -ab -oxxx file

     Changing the value of the shell variable OPTIND or parsing
     different sets of arguments may lead to unexpected results.



Page 2                              CX/UX User's Reference Manual





getopts(1)                                             getopts(1)



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




















































Page 3                              CX/UX User's Reference Manual



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