Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getopts(1)

sh(1)

getopt(3)



  getopt(1)                           CLIX                           getopt(1)



  NAME

    getopt - Parses command options

  SYNOPSIS

    set -- `getopt optstring $*`

  DESCRIPTION

    CAUTION: Start using the new command getopts in place of getopt.  The
    getopt command will not be supported in the next major release.  For more
    information, see the CAUTIONS section.

    The getopt command is used to break up options in command lines for easy
    parsing by shell procedures and to check for legal options.  The optstring
    argument is a string of recognized option letters (see getopt()); if a
    letter is followed by a colon, the option is expected to have an argument
    which 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 will recognize it; otherwise, getopt will generate it;
    in either case, getopt will place 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.

  EXAMPLE

    1.  The following code fragment 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 argument:

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


    2.  This code will accept any of the following as equivalent:

        cmd -aoarg file file



  2/94 - Intergraph Corporation                                              1






  getopt(1)                           CLIX                           getopt(1)



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


  CAUTIONS

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

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

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

    The command 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 the getopts manual page.

    If an option that takes an option-argument is followed by a value that is
    the same as one of the options listed in optstring (referring to the
    earlier EXAMPLE section, but using the following command line):

    cmd -o -a file

    the getopt command will always treat -a as an option-argument to -o; it
    will never recognize -a as an option.  For this case, the for loop in the
    example will shift past the file argument.

  DIAGNOSTICS

    The getopt command displays an error message on stderr when it encounters
    an option letter not included in optstring.

  EXIT VALUES

    The getopt command exits with a value of 0 if successful.  If
    unsuccessful, this command exits with a value of 2.

  RELATED INFORMATION

    Commands: getopts(1), sh(1)

    Functions: getopt(3)








  2                                              Intergraph Corporation - 2/94




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