node.js - 通过 ssh2 Nodejs 执行 shell 命令

标签 node.js shell ssh

我正在尝试使用 ssh2( https://www.npmjs.org/package/ssh2 ) 做基本的事情,但我没有得到任何结果,并且 api 不是那么容易理解(对我来说),我正在尝试执行基本的 shell 命令,例如 ls ,pwd ..但我没有结果。我尝试通过 shell 获取 ls -lah,

c.on('ready', function() {

    c.shell('ls','lah', function(err,stream) {
    if (err) throw err;

         stream.on('ls', function(data, extended) {
              console.log(data);
              console.log(extended);
         });

    });

});

有人可以告诉我我做错了什么或者它应该如何工作吗? 顺便说一句,没有连接问题。

谢谢

最佳答案

这就是您想要的:

c.on('ready', function() {
  c.exec('ls -lah', function(err, stream) {
    if (err)
      throw err; // Do something more sensible than this

    stream.on('data', function(data) {
      console.log('STDOUT: ' + data);
    });
    stream.stderr.on('data', function(data) {
      console.log('STDERR: ' + data);
    });
    stream.on('close', function(code, signal) {
      console.log('Process closed with code ' + code);
    });
  });
});

关于node.js - 通过 ssh2 Nodejs 执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537198/

相关文章:

javascript - Puppeteer:如何拦截跨多个 "pages"的请求?

linux - 如何在 shell 脚本中正确地进行字符串比较?

linux - Linux本地网络文件同步

node.js - Firebase 云函数从列表中获取子项的内部子项(nodeJs)

javascript - Mongoose .findOne 错误返回找到的模型?

javascript - StatsD 启动错误

bash - 尝试从 bash 中的字符串中检索前 5 个字符(仅数字和字母)

linux - 运行 bash 脚本,就好像它是从不同的目录执行的一样

ssl - SSL通信的详细内容

linux - 生成 : How to pass arguments to spawn within an expect script?