我正在使用ServiceMix,我试图列出一些捆绑包,只检索捆绑包ID。 我正在尝试执行以下操作:
osgi:list | grep -i | awk xxx
我尝试使用awk,但ServiceMix中没有提供。 我也试过用shell:exec这样:
osgi:list | grep -i | shell:exec
awk 'xxx'
但这也不起作用,也许我的做法完全错了。 是否有其他人有一些经验,我如何才能实现我的目标,即只检索捆绑的id?
答案 0 :(得分: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 ;
}
运行时,这将输出类似于:
的内容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
答案 1 :(得分:0)
我不认为有sed / awk命令。而list命令不仅可以显示包ID。
您可以记录JIRA票证以进行增强。也许对于list命令的选项来选择仅列出的内容(bundle id,bundle version,state等) http://karaf.apache.org/index/community/support.html