阅读了相关文档和教程并发现了类似的问题,我仍然无法继续。如果这是一个常见问题,我提前道歉。我进行了搜索,但我不确定我在寻找什么......
我正在 Debian 中试验 C 的 Libssh。
rc = ssh_channel_request_exec(channel, "ls -l");
if (rc != SSH_OK) {
ssh_channel_close(channel);
ssh_channel_free(channel);
return rc;
}
这将返回 SSH_OK 以表明命令已成功发送。正如我从一个类似的问题中了解到的那样,这是因为返回会监听命令的成功“发送”。return 不监听,看是否执行成功。
我的问题是,我该如何:
- 执行命令(上面的函数目前不执行它只是发送命令)
- 听听它的执行
- 打印返回的输出?
我知道 ssh_channel_read() 函数,但由于命令从不执行,我通常会得到输出
Read (256) buffered : 0 bytes. Window: 64000