GETFLAGS(8)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 ALSOarg(2)GETFLAGS(8)