*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> getopt (1)              
Title
Content
Arch
Section
 

GETOPT(1)

Contents


NAME    [Toc]    [Back]

     getopt - parse command options

SYNOPSIS    [Toc]    [Back]

     set -- `getopt optstring $*`

DESCRIPTION    [Toc]    [Back]

     getopt is used to break up options in command lines for easy
parsing by
     shell  procedures,  and  to  check for legal options.  [optstring] is a
     string of recognized option letters (see  getopt(3));  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 whitespace.  The special option ``--'' is
     used  to  delimit the end of the options.  getopt will place
``--'' in the
     arguments at the end of the options, or recognize it if used
explicitly.
     The  shell  arguments ($1 $2 ...) are reset so that each option is preceded
     by a ``-'' and in its own shell argument; each option  argument is also in
     its own shell argument.

EXAMPLES    [Toc]    [Back]

     The  following code fragment shows how one might process the
arguments for
     a command that can take the options -a and -b, and  the  option -o, which
     requires an argument.

           set -- `getopt abo: $*`
           if test $? != 0
           then
                   echo 'Usage: ...'
                   exit 2
           fi
           for i
           do
                   case "$i"
                   in
                           -a|-b)
                                   flag=$i; shift;;
                           -o)
                                   oarg=$2; shift; shift;;
                           --)
                                   shift; break;;
                   esac
           done

     This code will accept 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

DIAGNOSTICS    [Toc]    [Back]

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

SEE ALSO    [Toc]    [Back]

      
      
     sh(1), getopt(3)

HISTORY    [Toc]    [Back]

     Written by Henry Spencer, working from a  Bell  Labs  manual
page.  Behavior
     believed identical to the Bell version.

BUGS    [Toc]    [Back]

     Whatever getopt(3) has.

     Arguments  containing whitespace or embedded shell metacharacters generally
 will not survive intact;  this  looks  easy  to  fix  but
isn't.

     The  error  message  for  an invalid option is identified as
coming from
     getopt rather than from the shell procedure  containing  the
invocation of
     getopt; this again is hard to fix.

     The precise best way to use the set command to set the arguments without
     disrupting the value(s) of shell  options  varies  from  one
shell version to
     another.

OpenBSD      3.6                           June      21,     1993
[ Back ]
 Similar pages
Name OS Title
getopt Linux parse command options (enhanced)
getopt Linux Parse command line options
getopts HP-UX parse utility (command) options
getsubopt Tru64 Parse suboption arguments from a command line
grog NetBSD guess options for groff command
grog Linux guess options for groff command
grog FreeBSD guess options for groff command
grog OpenBSD guess options for groff command
parseargv IRIX process command-line options
rpccp_help HP-UX Displays a list of commands or the options of a specified command
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service