仅在servicemix上列出捆绑包ID

Nie*_*els 2 osgi apache-karaf osgi-bundle apache-servicemix

我正在使用ServiceMix,我试图列出一些捆绑包,只检索捆绑包ID.我正在尝试执行以下操作:

osgi:list | grep -i | awk xxx

我尝试使用awk,但ServiceMix中没有提供.我也试过用shell:exec这样:

osgi:list | grep -i | 外壳:EXECawk 'xxx'

但这也行不通,也许我的做法完全错了.有没有其他人有一些经验,我怎么能达到我的目标,只检索捆绑的id?

Ala*_*ter 6

你总是可以使用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 ;
}
Run Code Online (Sandbox Code Playgroud)

运行时,这将输出类似于:

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
Run Code Online (Sandbox Code Playgroud)