Как выполнить скрипт оболочки из hubot

Я запустил и запустил свой первый хаб-бот и написал несколько первых скриптов на основе существующих примеров. Мой существующий рабочий процесс, который я хотел бы интегрировать с hubot, по существу основан на нескольких сценариях оболочки, каждый из которых выполняет одну задачу. Задача может быть относительно сложной (проверка git/svn, компиляция кода с помощью gcc и его запуск). Как я могу выполнить скрипт bash с помощью hubot? Я видел этот вопрос, но он касается только простых команд например ls. Я попытался

build = spawn 'source', ['test.sh']
build.stdout.on 'data', (data) -> msg.send data.toString()
build.stderr.on 'data', (data) -> msg.send data.toString()

без везения:

Hubot> execvp(): Permission denied

Я проверил очевидные вещи (-rwxr-xr-x разрешения) и export HUBOT_LOG_LEVEL="debug". Я запускаю hubot с тем же пользователем, которому принадлежат скрипты bash. Спасибо.


person user2148414    schedule 02.12.2013    source источник
comment
Укажите полный путь к test.sh?   -  person anishsane    schedule 02.12.2013
comment
Я попробовал оба безуспешно: указать полный путь к test.sh и вызвать process.chdir(scriptDir) перед вызовом source.   -  person user2148414    schedule 03.12.2013


Ответы (2)


Для справки: ответ был

build = spawn '/bin/bash', ['test.sh']

Да

person user2148414    schedule 03.12.2013

npm install hubot-script-shellcmd

это ваш вход в оболочку.

person coderofsalvation    schedule 23.09.2014