如何使用 ssh-exec 从 nodejs 文件将参数传递给远程脚本



嗨,我想从nodejs文件在远程计算机上执行bash脚本。我正在使用 ssh-exec 函数。这使我可以轻松地运行远程脚本,但是当我需要向其传递一些参数时,出现了真正的问题,因为当前语法将参数作为字符串而不是它们的值传递。

var express=require('express');
var app=express();
var exec=require('ssh-exec');
var arg1="abc";
var arg2="def";
var arg3="ghd";
exec('"./test.sh" arg1 arg2 arg3' ,
  {user:'ubuntu',host:'a.b.c.d'}, function(err, stdout) {
    if(err){
      throw err;
    }
  console.log(stdout);
 console.log('success');
});    `

你必须将变量连接到命令的字符串中;否则你只是将变量的名称添加到命令中。见下文 :

var express = require('express');
var app = express();
var exec = require('ssh-exec');
var arg1 = "abc";
var arg2 = "def";
var arg3 = "ghd";
exec(`"./test.sh" ${arg1} ${arg2} ${arg3}` {
    user: 'ubuntu',
    host: 'a.b.c.d'
}, function(err, stdout) {
    if (err) {
        throw err;
    }
    console.log(stdout);
    console.log('success');
});

最新更新