Tag: getopt

命令行错误消息的“POSIX定义格式”是什么? 哪个标准?

在ruby-doc.org 页面上,我发现了以下关于命令行选项/参数解析(getopt库)的信息: 以POSIX定义的格式返回相应的错误消息。 如果没有发生错误,则返回nil。 什么是POSIX定义的命令行错误消息格式? 它是哪种POSIX标准? 编辑: 我必须澄清一下,在解析命令行参数/选项时,我对标准/推荐的错误消息感兴趣。 在下面的链接(答案)中,我发现只提到了getopt的这种错误格式: “%s: illegal option — %c\n”, , “%s: option requires an argument — %c\n”, , 一切都好吗?

OptionParser可以跳过未知选项,稍后在Ruby程序中处理吗?

有没有办法在一个Ruby程序中多次启动OptionParser ,每个程序都有不同的选项? 例如: $ myscript.rb –subsys1opt a –subsys2opt b 在这里,myscript.rb将使用subsys1和subsys2,将它们的选项处理逻辑委托给它们,可能是首先处理’a’的序列,然后是单独的OptionParser对象中的’b’; 每次选择仅与该上下文相关的选项。 最后阶段可以检查在每个部件处理完他们之后没有任何未知数。 用例是: 在松散耦合的前端程序中,各种组件具有不同的参数,我不希望“main”知道所有内容,只是为每个部分委派参数/选项集。 将一些更大的系统(如RSpec)嵌入到我的应用程序中,我只需通过命令行通过他们的选项,而不需要我的包装器知道这些。 我也可以使用一些分隔符选项,比如某些Java应用程序中的–或–vmargs 。 在Unix世界中有许多类似事物的真实例子(startx / X,git plumbing和瓷器),其中一层处理一些选项但将其余部分传播到下层。 开箱即用,这似乎不起作用。 每个OptionParse.parse! 呼叫将进行详尽的处理,对其不知道的任何事情失败。 我想我很乐意跳过未知选项。 任何提示,也许是替代方法都是受欢迎的。