CAVEATS
When an argument takes a required value and the value is in a separate token from the argument (as in "-c value") then the next token on the command-line is assumed to be the value for that argument (even if the token looks like an option because its starts with a `-' character). If however, an argument takes an optional value and the value is in a separate token from the argument, the next token on the command-line is assumed to be the value for that argument only if the next token does NOT look like an option. In order to specify a value that looks like an option to an argument that takes an optional value, it is recommended that the value occur in the same token as the argument itself (as in "-c-value"). The above also applies to non-positional lists. A non-positional list is automatically terminated by another option, or by the token ``--''. It is a "feature" of that the following are equivalent (assuming that -l takes a list of one or more values): cmdname -l value1 value2 cmdname -lvalue1 -lvalue2 Hence, to supply values that look like options to non-positional list arguments, it is recommended that the following syntax be used: cmdname -l-value1 -l-value2