0

我正在尝试自动化服务的配置和搜索,以加快对 OSGi 系统更改的测试。我使用 Maven Pax:Provision 从各种存储库中设置环境。

我有一些命令从 xml 文件加载数据,然后有一些命令来搜索服务。搜索命令都返回一个描述结果的字符串。

我有一个 provision.tsl 文件,其中包含加载 osgi 环境的命令和一个运行搜索命令的 search.tsl 文件。在 search.tsl 我有一个搜索命令列表,每个命令用于我加载的各种表。例如

echo Doing some searching
searchcell someTable someValue searchColumnName
echo search someOtherTable
searchcell someOtherTable someOtherValue searchColumnName
echo search yetAnotherTable
searchcell yetAnotherTable yetSomeOtherValue searchColumnName

但是,当我运行搜索命令 EG

osgi> gosh search.tsl 

我只得到文件中最后一个命令的结果。回声虽然正常工作,但看起来像。

Doing some searching
search someOtherTable
search yetAnotherTAble
return results from searchCell yetAnotherTAble

这是天哪的预期行为吗?

4

1 回答 1

0

gosh 控制台会自动打印每个交互命令的值。

这使得您的searchcell命令看起来正在打印结果,而实际上它正在返回一个字符串,该字符串由gogo打印。

这在脚本中不起作用,因此您需要重新编码searchcell命令以打印到标准输出,或者在脚本中显式打印每个结果:

echo Doing some searching echo (searchcell someTable someValue searchColumnName) echo search someOtherTable echo (searchcell someOtherTable someOtherValue searchColumnName)

于 2014-08-27T16:27:18.900 回答