Osgi 使用gogo gosh脚本时,如何从所有命令中获取打印输出

Osgi 使用gogo gosh脚本时,如何从所有命令中获取打印输出,osgi,pax,gogo-shell,Osgi,Pax,Gogo Shell,我正在尝试自动化服务的供应和搜索,以加快对OSGi系统更改的测试。我使用Maven-Pax:Provision从各种存储库设置环境 我有一些命令从xml文件加载数据,然后有一些命令搜索服务。 搜索命令都返回一个描述结果的字符串 我有一个provision.tsl文件,其中包含加载osgi环境的命令,还有一个运行搜索命令的search.tsl文件。 在search.tsl中,我有一个search命令列表,每个命令对应于我加载的各种表。 例如 但是,当我运行搜索命令时,例如 osgi> gos

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

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

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

但是,当我运行搜索命令时,例如

osgi> gosh search.tsl 
我只从文件中的最后一个命令获得结果。Echo工作正常,看起来像

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

这是上帝的预期行为吗

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

这使得searchcell命令似乎正在打印结果,而实际上它正在返回一个字符串,由gogo打印

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


echo正在做一些搜索
echo(searchcell someTable someValue searchColumnName)
回声搜索其他表格
echo(searchcell someOtherTable someOtherValue searchColumnName)

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