Alfred M. Szmidt <[email protected]> ha escrit:

>       ping -c 4
> 
>    which will break when -c is changed to accept optional argument.
> 
> Eh, why would this break anything?

Because of the way GNU getopt implements optional arguments.  If an
option takes optional argument *and* that argument is given, it must
be specified the following way:

a) when used with short option, the argument must follow that option
immediately, without any intervening whitespace.
b) when used with long option, the argument must be separated from
the option word by exactly one equals sign.

In other words, if '-c' takes optional argument, then:

   ping -c4
   ping --count=4

means '-c' with the argument '4'.  On the contrast, this:

   ping -c 4
   ping --count 4

means '--count' *without* explicit argument plus a standalone
argument '4'.

Regards,
Sergey


Reply via email to