getopts optstring name [ arg ... ]
       Checks the args for legal options.  If the args are
       omitted, use the positional  parameters.   A  valid
       option  argument  begins  with  a `+' or a `-'.  An
       argument not beginning with a `+' or a `-', or  the
       argument  `--',  ends  the options.  optstring con-
       tains the letters that getopts  recognizes.   If  a
       letter  is  followed  by  a  `:',  that  option  is
       expected to have an argument.  The options  can  be
       separated from the argument by blanks.

       Each  time it is invoked, getopts places the option
       letter  it  finds  in  the  shell  parameter  name,
       prepended  with  a  `+' when arg begins with a `+'.
       The index of the next arg is stored in OPTIND.  The
       option argument, if any, is stored in OPTARG.

       A  leading `:' in optstring causes getopts to store
       the letter of the invalid option in OPTARG, and  to
       set  name  to  `?' for an unknown option and to `:'
       when a  required  option  is  missing.   Otherwise,
       getopts  prints  an error message.  The exit status
       is nonzero when there are no more options.
