我正在使用 ServiceMix,我试图列出一些 bundle 并仅检索其中的 bundle ID。 我正在尝试执行以下操作:
osgi:list | grep -i | awk xxx
我尝试使用 awk,但 ServiceMix 中没有提供。 我也试过像这样使用 shell:exec:
osgi:list | grep -i | shell:exec
awk 'xxx'
但是那也不管用,也许我的做法是完全错误的。 其他人是否有一些经验可以实现我的目标,即仅检索 bundle 的 ID?
最佳答案
你总是可以使用 Karaf 的 shell 语言(从 karaf 2.3.1 开始工作)
bundles = $.context bundles ;
echo "Printing bundle information" ;
each ($bundles) {
symbolicName = $it symbolicName ;
bundleId = (($it bundleid) toString) ;
echo "Symbolic name : " $symbolicName " Bundle Id : " $bundleId ;
}
运行时会输出类似于:
Symbolic name : org.apache.felix.framework Bundle Id : 0
Symbolic name : org.ops4j.pax.url.mvn Bundle Id : 1
Symbolic name : org.ops4j.pax.url.wrap Bundle Id : 2
Symbolic name : org.ops4j.pax.logging.pax-logging-service Bundle Id : 3
关于osgi - 仅在 servicemix 上列出 bundle ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014100/