我使用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
选项。这可能吗?
答案 0 :(得分:5)
我可能没有正确理解这个问题,但是
cli.usage()
你在找什么?
你可以做以下的事情来避免它:
def options
//or ['-h', '--help'].intersect(args?.toList())
if('-h' in args || '--help' in args) {
cli.usage()
} else {
options = cli.parse (args)
}