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“幕后”操作的非常难以追踪的错误,您将在将来为自己省去许多麻烦。

相关内容