При использовании сценариев Gogo Gosh, как получить распечатки со всех команд

Я пытаюсь автоматизировать предоставление и поиск службы, чтобы ускорить тестирование изменений в системе 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

Это ожидаемое поведение, черт возьми?

1 ответ

Консоль Gosh автоматически печатает значение каждой интерактивной команды.

Это создает впечатление, что ваша команда searchcell печатает результат, когда фактически возвращает строку, которую печатает gogo.

Это не работает в скриптах, поэтому вам нужно либо перекодировать команду searchcell для печати в stdout, либо явно распечатать каждый результат в вашем скрипте:

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

Другие вопросы по тегам