在shell脚本中执行时,“telnet”命令以“坏端口”失败,但在命令提示符下工作

时间:2017-10-19 09:55:27

标签: linux shell telnet putty

这可能很简单。我使用PuTTY登录远程服务器并运行telnet 12.34.56.789 22命令来测试端口22上的TCP连接。

当我手动输入命令时这很好用,但我有一系列目的地要检查,我认为最好使用脚本。我创建了一个非常基本的shell脚本,它只是我想要一个接一个地运行的命令的列表。当我从PuTTY运行此脚本时,我收到错误消息

  

:坏端口

当我手动输入命令时,有人可以解释为什么命令有效,但是当我运行脚本时会产生错误吗?

脚本:

telnet 10.52.33.46 22  
telnet 10.52.33.47 22  
telnet 10.52.33.48 22  
telnet 10.52.33.49 22  
telnet 10.52.33.50 22  
telnet 10.52.33.51 22  
telnet 10.52.33.52 22  
telnet 10.52.33.53 22  
telnet 10.52.33.54 22  
telnet 10.52.33.55 22

Here is a screenshot of the PuTTY window with the error message. I save the above script (159999.sh) onto the host server, then run it from there.

Here is some of the commands running after I type them manually (in this case they are supposed to fail to connect)

1 个答案:

答案 0 :(得分:1)

您的脚本文件具有Windows CR / LF行结尾,而* nix系统仅使用LF。

附加CR作为telnet命令的一部分,特别是作为最后一个"端口的一部分"论点。因此"坏端口" 错误。

请确保: