diff options
Diffstat (limited to 'manual/getopt.texi')
-rw-r--r-- | manual/getopt.texi | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/manual/getopt.texi b/manual/getopt.texi index f3934d0cfe..aefb034566 100644 --- a/manual/getopt.texi +++ b/manual/getopt.texi @@ -71,10 +71,29 @@ string can be followed by a colon (@samp{:}) to indicate that it takes a required argument. If an option character is followed by two colons (@samp{::}), its argument is optional; this is a GNU extension. +@code{getopt} has three ways to deal with options that follow +non-options @var{argv} elements. The special argument @samp{--} forces +in all cases the end of option scanning. + +@itemize @bullet +@item +The default is to permute the contents of @var{argv} while scanning it +so that eventually all the non-options are at the end. This allows +options to be given in any order, even with programs that were not +written to expect this. + +@item If the @var{options} argument string begins with a hyphen (@samp{-}), this is treated specially. It permits arguments that are not options to be returned as if they were associated with option character @samp{\0}. +@item +POSIX demands the following behaviour: The first non-option stops option +processing. This mode is selected by either setting the environment +variable @code{POSIXLY_CORRECT} or beginning the @var{options} argument +string with a plus sign (@samp{+}). +@end itemize + The @code{getopt} function returns the option character for the next command line option. When no more option arguments are available, it returns @code{-1}. There may still be more non-option arguments; you |