0

関連するドキュメントチュートリアルを読み、同様の質問を見つけましたが、まだ先に進むことができません。これが一般的な質問である場合は、事前にお詫び申し上げます。いろいろ調べたのですが、何を探しているのかよくわかりませんでした...

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
4

1 に答える 1