glenda.party
term% ls -F
term% cat index.txt
GETFLAGS(8)                 System Manager's Manual                GETFLAGS(8)

NAME
       getflags, usage - command-line parsing for shell scripts

SYNOPSIS
       aux/getflags $*

       aux/usage

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, indicat‐
       ing 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 pro‐
       gram name (see rc(1)).

EXAMPLE
       Parse the arguments for leak(1):

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

SOURCE
       /sys/src/cmd/aux/getflags.c
       /sys/src/cmd/aux/usage.c

SEE ALSO
       arg(2)

                                                                   GETFLAGS(8)