netcatだけで簡単に使用できるプロトコルを使用しています。プロトコルはログイン メッセージで始まるので、stdin の前にログイン メッセージを netcat にパイプする小さなスクリプトを作成できると考えました。
近づくことはできましたが、1 つ問題がわかりません。次のスクリプトは、ログイン メッセージを送信し、netcat と対話できるようにするという点で機能します。しかし、netcat が終了した場合 (サーバー側が接続を閉じたため)、スクリプトはそこでハングします (おそらくcat
、誰も stdout を読み取っていないにもかかわらず、まだ stdin を読み取っているため)。
( echo "${LOGIN}"; cat ) | nc ${HOST} ${PORT}