--- When I read the getopts description in the man-page I got stumped by the following part: getopts optstring var [..] If there are no remaining arguments, getopts will set var to special option, “--”, otherwise, it will set var to “?” [..] After I was unable to get getopts to store "--" in var, I asked for help on comp.unix.shell [1] where it was pointed out to me that actually the POSIX description of getopts [2] does not include a special option "--"; dash's behaviour of setting var to "?" after the last argument is correct and that this is most likely an error in the documention. In case this is not an error: Under what circumstances will var be set to "--"? Could you provide an example? [1] https://groups.google.com/forum/#!topic/comp.unix.shell/BIR9dDgKZvg [2] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/getopts.html src/dash.1 | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/dash.1 b/src/dash.1 index 693c970..832eae7 100644 --- a/src/dash.1 +++ b/src/dash.1 @@ -1402,14 +1402,9 @@ By specifying a colon as the first character of .Va optstring all errors will be ignored. .Pp -A nonzero value is returned when the last option is reached. -If there are no remaining arguments, +After the last option .Ic getopts -will set -.Va var -to the special option, -.Dq -- , -otherwise, it will set +will return a non-zero value and set .Va var to .Dq \&? . -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html