我必须限制用户何时提供“--”作为选项。例如:
./test --
应该抛出一个错误。为了解析,我正在使用getopt
如何使用 getopt 实现这一点?
getopt
旨在实现符合POSIX 实用程序语法指南的程序,其中--
具有特殊含义,即导致所有后续参数被视为非选项,即使它们具有选项的形式(例如rm -- -f
,删除名为 的文件-f
)。没有明确的方法来抑制这种行为。您可以尝试检查是否argv[optind-1]
是"--"
在完成后,但如果是参数的选项需要一个参数(类似于需要参数的地方),您可能需要解决getopt
这个问题,这会给出误报。"--"
-f --
-f
如果你真的想要不符合实用程序语法指南的参数处理,你最好从头开始自己动手。