【问题标题】:How to change the default command scope in the Felix gogo shell?如何更改 Felix gogo shell 中的默认命令范围?
【发布时间】:2012-12-04 20:51:40
【问题描述】:

当您在 gogo shell 中输入命令时,它会首先在默认范围内查找该命令的匹配项。你如何配置这个默认范围是什么?

例如,如果您使用 gogo 启动 Felix 框架,它使用 felix 作为默认范围。但是,如果您启动 Equinox 3.8.1,它现在使用 felix shell 作为默认值,它使用 equinox 范围作为默认值。

主要的烦恼是当我打字时:

g! help

我从equinox:help 而不是felix:help 获得结果,所以我想将felix 范围设为默认值。

是否有 OSGi 框架属性来配置它?

【问题讨论】:

  • 据我所知,除了执行找到的 first 命令之外,没有指定任何地方如何 进行此搜索。不幸的是,这也不是 OSGi 规范的一部分,因此也没有关于这些东西的详细文档。我想这就是每个人开始制定自己的标准时会发生的事情。您可以在此处使用 felix 项目为此提交错误:issues.apache.org/jira/browse/Felix 我认为他们的响应速度相对较快。
  • 您是否使用 SSH 或 Telnet 连接到 gogo shell,甚至是透明的?看起来像这里,Equinox 默认使用 EQUINOX_SCOPE。 github.com/eclipse/rt.equinox.bundles/… 修补捆绑包似乎很简单,但它看起来可能是对 equinox 在这两种情况下如何使用 felix CommandSession 的限制,而不是提供使用默认范围的可配置方式。

标签: osgi apache-felix


【解决方案1】:

gogo shell 在启动时会尝试寻找启动脚本。默认情况下,它将在文件夹中查找(相对于您的启动目录):

etc/gosh_profile

如果在那里没有找到脚本,则使用默认脚本(在 org.apache.felix.gogo.shell 中),其中包含以下行:

SCOPE = gogo:*

因此,要更改默认范围,请提供您自己的脚本。

【讨论】:

    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多