【问题标题】:Apache CLI option value with whitespace带有空格的 Apache CLI 选项值
【发布时间】:2013-09-16 23:35:52
【问题描述】:

我正在使用 Apache CLI 来解析命令行参数。我的一个论点是一个过滤器,它接受一个字符串MyApp -f "search for this string"

我以为当我执行cmdLine.getOptionValue("f") 时它会返回:search for this string

但是它只返回search

我应该怎么做才能确保检索到整个字符串,显然只是用双引号括起来似乎不起作用。

我在 ubuntu 上。

【问题讨论】:

  • 现在我把它当作一个值数组(getOptionValues),然后将它们拼接在一起形成字符串
  • 我也有同样的问题。你找到解决办法了吗?

标签: java apache ubuntu command-line command-line-interface


【解决方案1】:

我认为用额外的单引号传递字符串应该可以:

MyApp -f "'search for this string'"

【讨论】:

  • 来自 gnome-terminal,这对我来说似乎不起作用,我仍然会得到选项值作为“搜索”。但是,如果我从 eclipse run config 为 Main 提供参数,它就可以工作。使用 commons-cli v1.2。
【解决方案2】:
MyApp -f 'search for this string'

在 UNIX 上将字符串括在单引号 (') 中对我有用。 Apache CLI JIRA 站点上的 comment 可能会有所帮助。

【讨论】:

    【解决方案3】:

    在 Windows 上,参数必须用双引号括起来。在 Unix 上,您可以使用单引号、双引号或用反斜杠转义空格。

    【讨论】:

    • 在 Linux 上工作(使用 commons CLI 1.4,这是本评论的最新版本)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 2019-11-28
    • 2010-12-21
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多