Как я могу перенаправить вывод программы с помощью libssh2?

#linux #libssh2

#linux #libssh2

Вопрос:

Я использую libssh2 для программы на C в среде Linux, и пока я могу запускать программу на удаленном компьютере с помощью libssh2_channel_exec . Однако я хотел бы перенаправить вывод программы на локальный компьютер (т. Е. Вывод должен передаваться по ssh). Я хотел бы достичь той же цели в следующей строке bash:

$ ssh user@remote ls > local_file.txt

Я не могу указать > local_file.txt часть command параметра, потому что файл должен быть записан на локальном компьютере, а не на удаленном.

Итак, как я могу перенаправить вывод удаленной программы на локальный компьютер?

Ответ №1:

вы должны использовать функцию libssh2_channel_read для чтения удаленного стандартного вывода:

http://www.libssh2.org/libssh2_channel_read.html

Комментарии:

1. Мне это больше не нужно, но это приятно знать. Grazie 😉