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的答案是正確的。 –