当前位置: 首页 > 知识库问答 >
问题:

你能在JBoss Fuse'Karaf终端中运行一个脚本文件吗?

阎俊英
2023-03-14

谢谢

*:JBoss保险丝(6.1.0.REHAT-379)

共有1个答案

罗金林
2023-03-14

您可以使用shell:source命令,如下所示:

下面是一个示例脚本。

computer:karaf donald$ cat test.script  
bundle:list -t 0 | head
echo 'Hello world 1'
echo 'Hello world 2'
echo 'Hello world 3'

下面是如何从Karaf调用它:

Cobalt:bin donald$ ./karaf 
        __ __                  ____      
       / //_/____ __________ _/ __/      
      / ,<  / __ `/ ___/ __ `/ /_        
     / /| |/ /_/ / /  / /_/ / __/        
    /_/ |_|\__,_/_/   \__,_/_/         

  Apache Karaf (3.0.2)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.

karaf@root()> shell:exec pwd
/Users/donald/apache-karaf-3.0.2
karaf@root()> shell:exec ls
LICENSE
NOTICE
README
RELEASE-NOTES
bin
data
demos
deploy
etc
instances
lib
lock
system
test.script
karaf@root()> shell:source test.script
START LEVEL 100 , List Threshold: 0
ID | State    | Lvl | Version         | Name                                                               
-----------------------------------------------------------------------------------------------------------
 0 | Active   |   0 | 4.2.1           | System Bundle                                                      
 1 | Active   |   5 | 2.2.0           | OPS4J Pax Url - aether:                                            
 2 | Active   |   5 | 2.2.0           | OPS4J Pax Url - wrap:                                              
 3 | Active   |   8 | 1.7.4           | OPS4J Pax Logging - API                                            
 4 | Active   |   8 | 1.7.4           | OPS4J Pax Logging - Service                                        
 5 | Active   |  10 | 3.0.2           | Apache Karaf :: Service :: Guard                                   
 6 | Active   |  10 | 1.8.0           | Apache Felix Configuration Admin Service                           
Hello world 1
Hello world 2
Hello world 3
karaf@root()> 
 类似资料:
  • 问题内容: 我是python的新手,已经学习了几周。但是,现在我刚刚更改了操作系统,现在正在使用ubuntu,并且无法在终端上运行任何脚本。 我确定有, 但是当我去终端输入时,例如 终端显示了这样的错误消息 python:无法打开文件“ test.py”:[Errno 2]没有这样的文件或目录 我该怎么办? 我必须将文件保存在任何特定的文件夹中以使其在终端上运行吗? 问题答案: 这个错误: pyt

  • 我有以下文件夹结构: null 当我运行Pycharm的fish.py时,它工作得非常好。但是,当我从终端运行fish.py时,我得到错误的模块。 我在终端中使用的命令:来自应用程序文件夹。 我已经研究了这里建议的解决方案:从不同的文件夹导入文件,将应用程序文件夹的路径添加到帮助中。但是,我想知道是否有其他方法可以使它工作,而不在中添加两行代码。这是因为我在/products目录中有许多脚本,不想

  • 我正在使用Maven SureFire,TestNG(扩展AbstractTestNGCucumber测试)和Cucumber,并且有几个功能文件,每个文件都有几个场景。我希望能够在一个功能文件中并行运行每个场景,但一次只能运行一个功能文件。这有可能吗? 举个例子: 我希望场景1a、1b和1c在功能文件1中并行运行。一旦这些完成,运行场景2a和功能2等的2b。 这是当前一次从所有功能文件运行所有方

  • 我似乎一直在尝试在vscode中运行python3文件。我注意到右上角运行代码的三角形按钮也不再是绿色。 我已经为python3建立了自己的venv,并且安装了numpy包——我已经检查了< code>pip list,它在那里,并且在导入时调用这个包中的任何方法时运行良好。 当我右键单击vscode中的文件并单击在终端中运行Python文件时-它运行得非常好,并为我提供了所需的输出。 但是,当我

  • 在docker文件中运行sh脚本时,出现以下错误: /上传。上海:5:/上载sh:sudo:找不到/上载sh:21: /上载sh:换人不好 DockerFile 有什么想法吗?

  • 问题内容: 我想用swift替换我的CI bash脚本。我不知道如何调用普通的终端命令,例如或 问题答案: 如果您不使用Swift代码中的命令输出,则只需执行以下操作: 更新:对于Swift3 / Xcode8