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)