при использовании сценариев 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

Однако, когда я запускаю команду поиска E.G.

osgi> gosh search.tsl 

Я получаю результат только от последней команды в файле. Хотя эхо работает как обычно и выглядит так.

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

Это ожидаемое поведение для Гоша?


person user245357    schedule 23.06.2014    source источник


Ответы (1)


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

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

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

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

person Derek Baum    schedule 27.08.2014