telnet: "環境が指定されていません。端末タイプ。"

telnet: "環境が指定されていません。端末タイプ。"

SSH をバッチ処理すると、次のコマンドが実行されます。

echo close | /usr/bin/telnet IPADDRESS 657

すると、次のような結果が出力されます。

No environment-specified terminal type.

しかし、なぜ? SSH経由で接続するオペレーティングシステムはLinuxであり、SSH経由で接続するオペレーティングシステムはAIXです。

答え1

Telnetは、スマート端末と対話するための対話型ツールとして設計されているためです。パイプから供給されると、正しい端末データ(TERM環境変数など)を受信できません。また、通信を妨げる可能性のあるリモートホストと端末パラメータをネゴシエートします。

あなたのようなアプリケーション(非対話型TCP接続)の場合、正しいツールはNetCat nc、。

努力する

  echo close | /usr/bin/nc IPADDRESS 657

これからそのような用途に使ってみてください。 Telnetの「後ろから」操作によって引き起こされる追跡が非常に困難なエラーを回避することで、将来多くの問題を回避できます。

関連情報