加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – 如何在CliBuilder中支持带有必需参数的帮助命令行参数

发布时间:2020-12-14 16:23:06 所属栏目:大数据 来源:网络整理
导读:我使用CliBuilder来解析Groovy脚本的命令行参数.在我定义的论点中,我有一个是强制性的.有没有办法支持-h,– help参数,它会打印命令用法而不会出现关于缺少参数的烦人错误消息? 例如,仅使用-h参数运行以下Groovy脚本: def cli = new CliBuilder (usage:'tes
我使用CliBuilder来解析Groovy脚本的命令行参数.在我定义的论点中,我有一个是强制性的.有没有办法支持-h,– help参数,它会打印命令用法而不会出现关于缺少参数的烦人错误消息?

例如,仅使用-h参数运行以下Groovy脚本:

def cli = new CliBuilder (usage:'test',stopAtNonOption:false)
cli.r (longOpt:'required',required:true,'Required argument.')
cli.h (longOpt:'help','Prints this message')
def options = cli.parse (args)

当它到达def options = cli.parse(args)行时将生成下面的输出,并将自动停止脚本执行:

error: Missing required option: r
usage: test
 -h,--help       Prints this message
 -r,--required   Required argument.

我想只显示指定-h或–help参数时的用法,而不必删除所需参数的required:true选项.这可能吗?

解决方法

我可能没有正确理解这个问题,但是

cli.usage()

你在找什么?

您可以执行以下操作以避免它:

def options

//or ['-h','--help'].intersect(args?.toList())
if('-h' in args || '--help' in args) {
    cli.usage() 
} else {
    options = cli.parse (args)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读