【问题标题】:Groovy CliBuilder - Argument value containing spacesGroovy CliBuilder - 包含空格的参数值
【发布时间】:2021-05-28 13:53:06
【问题描述】:

我正在使用带有以下选项的 Groovy CLiBuilder:

    cli.with {
        b longOpt: 'build', args:4, valueSeparator: ",", argName: 'a1,a2,a3,a4', 'This is the description', required: false
    }

这很好用,我可以正确解析以下 4 个参数:

    def _a1 = options.bs[0]
    def _a2 = options.bs[1]
    def _a3 = options.bs[2]
    def _a4 = options.bs[3]

到目前为止一切顺利......但是,如果我的论点之一包含空格......那么它就不再起作用了。当我从 bash 进行以下调用时:

myScript.sh -b value_a1,value_a2,value a 3,value a 4

我的值最终得到以下字符串数组:

[valu_a1, value_a2, value, --]

但如果我的论点的值都不包含空格,它会完美运行。

有没有人发现过这种行为?

【问题讨论】:

    标签: java bash groovy command-line


    【解决方案1】:

    您必须使用引号来调用它:-b "value_a1,value_a2,value a 3,value a 4"

    这就是 shell 的工作原理,而不是 CliBuilder 的问题

    【讨论】:

    • 我已经尝试过了,但没有帮助。我最终遇到了完全相同的问题,所以是的,我相信这是一个 CliBuilder 问题!
    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2019-01-01
    相关资源
    最近更新 更多