GNU getopt()的-W选项用于什么?

Ast*_*oth 3 c unix linux command-line

引用POSIX.1-2008关于-W选项的描述,

-W(资本-W)选项应保留给供应商的选择.

引自Linux手册页,GNU getopt处理-W选项如下:

如果optstring包含W后跟一个semicolon(;),则将-W foo其视为long选项--foo.(POSIX.2为-b实现扩展保留了-W选项.)

有人能够以更清晰的方式解释上述句子(直截了当)并解释为什么这样的选项有用吗?

上述说法的错误我,因为我觉得getopt(不getopt_long,getopt_long_only)只懂短选项.

Con*_*ang 6

查看:http://www.gnu.org/software/gnuprologjava/api/gnu/getopt/Getopt.html

也可以使用特殊的POSIX参数格式指定长选项(我非常不鼓励这种格式).这种形式的输入是通过放置"W;"来实现的.(是的,'W',然后是分号)在有效选项字符串中.这会导致getopt将"-W"后面的名称视为long选项的名称.例如," - W outputdir = foo"将等同于"--outputdir = foo".名称可以紧跟"-W",如下所示:" - Woutputdir = foo".选项参数的处理方式与普通的长选项相同.如果一个字符串跟在"-W"之后,它不代表一个有效的long选项,那么getopt()返回'W'并且调用者必须决定该做什么.否则getopt()返回一个长选项值,如下所述.