2013-10-14 82 views
0

約的期望和相互作用的NodeJS。 如何從發送的NodeJS請求,劇本這樣的:發送請求到外殼期望

#! /usr/bin/expect 
log_user 0 
spawn -noecho ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no HOST_IP -- "some request" 
expect "password: " 
send "PASSWORD\r" 
expect eof 
send_user "$expect_out(buffer)" 

我需要用特殊的參數從發送的NodeJS的請求,並接收它期望的一面呢? 我做從節點這樣的請求。

var spawn = require('child_process).spawn; 
var listA = spawn('./SOME_SHELL_SCRIPT'); 

有一個變種添加參數產卵這樣的:

var listA = spawn('/.SOME_SHELL_SCRIPT', args=[], [options]) 

我如何可以使用該選項,並帶他們到期望在「有一定的要求」現場有使用它們?

+1

所以基本上:「我如何通過一個子過程的參數?「 –

回答

2

下面是一個例子:

app.js

var spawn = require('child_process').spawn; 

var script = spawn("./script.sh", ["A Variable"]); 
var stdout= "" 

script.stdout.on('data', function (data) { 
    stdout = stdout + data; 
}); 

script.on('exit', function (code) { 
    console.log('stdout: ' + stdout); 
}); 

script.sh

echo "Script Got '$1'" 

想出來:

> node app.js 
    stdout: Script Got 'A Variable' 
+0

我讀的文件,我想事件應該是'script.on(「關閉」,......),而不是「exit'' – Antony