У меня есть экземпляр ServiceMix 5.1.4 (localhost), и я хочу, чтобы сценарий изменился с предоставленным клиентом (smx_home/bin/client).Изменение конфигурации ServiceMix для пакета в режиме сценариев с использованием `client` binary
Если я проверить вручную мои команды в SMX консоли (без использования client
)
config:edit org.myspace.test.mybundle
config:propset propertyOne false
config:propset propertyTwo true
config:update
... он прекрасно работает.
Теперь я хочу, чтобы выполнить эти команды из баш, то я написал простой Баш как это:
#!/bin/bash
smxcli='/opt/mysmxdir/bin/client'
$smxcli -h localhost -a 8101 -u smx -p smx config:edit org.myspace.test.mybundle
$smxcli -h localhost -a 8101 -u smx -p smx config:propset propertyOne false
$smxcli -h localhost -a 8101 -u smx -p smx config:propset propertyTwo true
$smxcli -h localhost -a 8101 -u smx -p smx config:update
или если бы я попытался с самого клиента в командной строке, он не будет работать на второй линии так как он не хочет отслеживать первую команду edit
.
No configuration is being edited--run the edit command first
Я попытался представить команды как список:
./client -h localhost -a 8101 -u smx -p smx "config:edit org.myspace.test.mybundle" "config:propset propertyOne true" "config:propset propertyTwo false" "config:update"
и с опцией -b (пакетное)
./client -h localhost -a 8101 -u smx -p smx -b "config:edit org.myspace.test.mybundle" "config:propset propertyOne true" "config:propset propertyTwo false" "config:update"
, но он не работает.
Я знаю, что могу использовать опцию -f (записать все команды smx в один файл и выполнить их с помощью client -f myfile.cmd
), но мне интересно, возможно ли это из одного сценария bash без дополнительного файла.
AFAIK это была известная проблема в Karaf которая фиксируется ... Вы должны будете ждать, пока выпущена servicemix на основе Karaf 3.0.5. –
@AchimNierbeck, если вы можете поместить ссылку на Jira (если есть), было бы неплохо. Я также проверил документацию servicemix/karaf, но не нашел хорошего примера, который показывает, как использовать параметр -b для клиента. –
@AchimNierbeck На самом деле я нашел решение своей проблемы, используя те же обозначения, что и в 'bash'. Кажется, в моей старой версии окончательно не было проблемы. –