关于expect和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])
我如何使用这些选项,并让他们期望并在“某些请求”字段中使用它们?
答案 0 :(得分: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'