Bashでnetcatを使用してコマンド出力をファイルに送信する

Bashでnetcatを使用してコマンド出力をファイルに送信する

出力を取得して変数に保存する方法を知る必要があります。すべての出力をファイルに送信したくありません。デフォルトでは、送信したコマンドの出力の1つだけを送信したいと思います。

AUTH
AUTH
LIST  <---needs to go to file

試してみましたが、うまく read $responseいきません。

答え1

$: を削除する必要があります。

read response

答え2

ncいいえexpect。したがって、リモートホスト出力のどの部分がキャプチャされるかを制御することはできません。出力全体をファイルにリダイレクトしたり(後で必要なものだけを抽出するために、、、または他のawk方法sedを使用して処理できます)、直接パイプ(または他の手段)にパイプしてファイルに書き込んだり保存したりできます。シェル変数(コマンド置換による)。perlawk$()

ただし、モジュール、または、またはperl(またはライブラリ)、またはライブラリまたはIMAPクライアントライブラリなどを使用してスクリプトを作成することはほぼ確実です。Expect.pmNet::TelnetNet::IMAPpythonpexpectpythonimaplib2expect

これにより、リモートホスト(見かけ上IMAP)の関連ポートに接続し、必要なコマンドを実行し、応答を待機し、応答に必要なすべての操作を実行できます(一部の応答を格納することを含む)。ファイル)

あなたの質問にタグを追加しました。タグをクリックすると、/expectこのサイトで関連する質問と回答のリストを見ることができます。expect

関連情報