Задать вопрос

Как перенаправить поток и записать данные в переменную?

Добрый день, пытаюсь разобраться в node, появилась задача получить данные с сервера по ssh использую модуль "ssh-exec".

Код из примера:
var exec = require('ssh-exec');
 
exec('who', {
  user: 'user',
  host: '192.168.1.1',
  
  password: 'password'
}).pipe(process.stdout)


возвращает результат команды "who" в консоль, ни как не могу понять, как сохранить результат в переменную?
  • Вопрос задан
  • 267 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@de1m
Я так думаю, что вам надо использовать второй пример, где есть callback. Как-то так:
var exec = require('ssh-exec')  

exec('ls -lh', {
    "user": "de1m",
    "host": "localhost",
    "password": "pass"
}, function (err, stdout, stderr) {
  console.log(err, stdout, stderr)
})

err - если будет ошибка в соедении
stdout - если всё нормально
stderr - если команда возвращает что-то больше "0"

Но вообще я бы рекомендовал использовать "ssh2" модуль напрямую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы