Provided by: 9base_6-7build1_amd64 bug

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(1plan9)