Man Linux: Main Page and Category List

NAME

       getflags, usage - command-line parsing for shell scripts

SYNOPSIS

       getflags $*

       usage [ progname ]

DESCRIPTION

       Getflags  parses the options in its command-line arguments according to
       the environment variable $flagfmt.  This variable should be a  list  of
       comma-separated   options.    Each  option  can  be  a  single  letter,
       indicating that it does not take arguments, or a letter followed by the
       space-separated  names  of  its  arguments.   Getflags  prints an rc(1)
       script on standard output which initializes  the  environment  variable
       $flagx  for  every  option mentioned in $flagfmt.  If the option is not
       present on  the  command-line,  the  script  sets  that  option’s  flag
       variable  to  an  empty list.  Otherwise, the script sets that option’s
       flag variable with a list containing the option’s arguments or, if  the
       option takes no arguments, with the string 1.  The script also sets the
       variable $* to the list of arguments following the options.  The  final
       line  in  the  script sets the $status variable, to the empty string on
       success and to the string usage when there  is  an  error  parsing  the
       command line.

       Usage prints a usage message to standard error.  It creates the message
       using $flagfmt, as described above, $args,  which  should  contain  the
       string  to  be  printed  explaining  non-option  arguments, and $0, the
       program name (see rc(1)).  If run under sh(1), which does not  set  $0,
       the program name must be given explicitly on the command line.

EXAMPLE

       Parse the arguments for leak(1):

              flagfmt=’b,s,f binary,r res,x width’ args=’name | pid list’ if(!
              ifs=() eval ‘{getflags $*} || ~  $#*  0){       usage       exit
              usage }

SOURCE

       /src/cmd/getflags.c
       /src/cmd/usage.c

SEE ALSO

       arg(3)

                                                                   GETFLAGS(8)