如何从Hubot执行shell脚本

4

我已经成功启动了我的第一个hubot,并根据现有的示例编写了我的前几个脚本。我希望将其与hubot集成,以便继续使用我的现有工作流程,该工作流程基本上基于多个shell脚本,每个脚本执行一个任务。这些任务可能相对复杂(如git / svn checkout、使用gcc编译代码并运行它)。我该如何使用hubot执行bash脚本?我看到过这个问题,但它只涉及简单的命令,如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"。 我正在使用与拥有 bash 脚本的用户相同的用户运行 hubot。 谢谢。


请提供 test.sh 的完整路径? - anishsane
我尝试了两种方法,但都没有成功:一种是给test.sh提供完整的路径,另一种是在调用source之前调用process.chdir(scriptDir) - user2148414
2个回答

5

供参考:答案是

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

Dah

5
npm install hubot-script-shellcmd

这是您进入shell的入口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接