3
我正在玩GitHub的Hubot,并尝试在我的机器人工作中执行bash脚本。
我成功地执行了我的脚本,但是如果向这个脚本添加一些参数,它就无法工作。CoffeeScript - 使用参数执行bash脚本
{ spawn } = require 'child_process'
s = spawn './myScript.sh' + " url" + " title" <------- doesn't work due to args
s = spawn './myScript.sh' <------- alright without args
s.stdout.on 'data', (data) -> console.log "Output: #{ data }"
s.stderr.on 'data', (data) -> console.error "Error: #{ data }"
s.on 'close', -> console.log "'s' has finished executing."
如何将参数传递给我的脚本?
感谢您的帮助
你可以说'重生“./myScript.sh#{URL}#{TITLE}”'但这会让你开到各种不愉快的报价和注入问题。永远不要使用'spawn','system'或类似的“启动一个shell来为我做事”的单一参数形式,几乎总是有一个多参数形式,完全绕过shell。 Aurélien的答案是正确的。 –