首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写Karaf shell命令脚本?

编写Karaf shell命令脚本?
EN

Stack Overflow用户
提问于 2014-10-18 06:38:40
回答 6查看 9.2K关注 0票数 9

我需要以非交互方式发出Karaf shell命令,最好是从脚本发出。更具体地说,我需要告诉Karaf以一种自动化的方式feature:install一组特性。

代码语言:javascript
复制
# Attempt to install a feature in a way I could script
bash> bin/karaf feature:install myFeature
# Drops me into Karaf shell
karaf> feature:uninstall myFeature
Error executing command: Feature named 'myFeature' is not installed
# Feature wasn't installed

这个是可能的吗?有没有不同的方法来解决这个问题(自动安装一组Karaf功能)?

EN

回答 6

Stack Overflow用户

发布于 2014-10-19 17:18:08

使用bin/karaf,您可以通过登录提示启动Karaf,如果您想要启动Karaf以便发出命令,您首先需要在服务器模式下启动Karaf。为此,请使用bin/start shell脚本。现在,您可以使用bin/client或bin/shell命令在无头模式下与Karaf通信。

例如:

代码语言:javascript
复制
./bin/client list
START LEVEL 100 , List Threshold: 50
ID | State  | Lvl | Version | Name
----------------------------------------------------------------------------------
72 | Active |  80 | 0       | mvn_org.ops4j.pax.web.samples_war_4.1.0-SNAPSHOT_war

这应该已经适用于所有版本的Karaf (可能不是2.2.x行;-)

如果您使用的版本是3.0.x或更高版本,则可能需要在命令中添加一个用户。

代码语言:javascript
复制
./bin/client -u karaf list
票数 4
EN

Stack Overflow用户

发布于 2018-07-11 15:01:00

要以非交互方式发出Karaf shell命令,最好是从脚本发出,您也可以使用the Karaf client (scroll down to "Apache Karaf client")。要安装特性,我使用如下命令

代码语言:javascript
复制
/opt/karaf/bin/client -r 7 "feature:install http; feature:install webconsole"

-r开关允许在服务器尚未启动时重试连接(我在Docker脚本中使用它)。

票数 3
EN

Stack Overflow用户

发布于 2016-11-22 03:21:21

如果密码保密并不重要,那么可以使用sshpass发出非交互式的Karaf shell命令。

代码语言:javascript
复制
sshpass -p karaf ssh -tt -p 8101 -o StrictHostKeyChecking=no karaf@localhost feature:install odl-l2switch-switch-ui

OpenDaylight's Vagrant-based L2Switch Tutorial中的工作示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26434360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档