2013-04-15 76 views
2

我正在使用ServiceMix,並試圖列出一些軟件包並僅檢索那裏的軟件包ID。 我在嘗試做以下事情:列表軟件包ID僅在servicemix上

osgi:list | grep -i | awk xxx

我試過使用awk,但ServiceMix中沒有提供。 我也試過使用shell:exec像這樣:

osgi:list | grep -i | shell:exec awk 'xxx'

但是這也行不通,也許我的方法是完全錯誤的。 其他人有一些經驗,我怎麼才能實現我只檢索一個捆綁的id的目標?

回答

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 
0

我不認爲有一個sed/awk命令。 list命令不僅可以顯示捆綁ID。

您可以登錄JIRA票證進行增強。也許對於選項列表命令來選擇如何只列出(包ID,捆綁版本,狀態等) http://karaf.apache.org/index/community/support.html

相關問題