HPUX-“Telnet TERMINAL-SPEED option ON”停止telnet终止

我需要一个脚本来检查服务器上的telnet是否可用。 我有一个类似的Linux脚本,但它不能在HPUX中工作。

Linux脚本,

telnet `"hostname"` < "dummy.txt" 2>&1 > telnet.txt ### passsing a dummy file ## grep Escape telnet.txt >> telnet.txt if [ $? = 0 ]; then echo "Telnet is available" > telnet.txt else echo "Telnet is not available" > telnet.txt fi 

在Hpux上有相同的脚本

 telnet `"hostname"` < "dummy.txt" 2>&1 > telnet.txt ### passsing a dummy file ## grep Escape telnet.txt >> telnet.txt if [ $? = 0 ]; then echo "Telnet is available" > telnet.txt else echo "Telnet is not available" > telnet.txt fi 

这个命令不会被终止,如下所示:

 # telnet `"hostname"` < "dummy.txt" 2>&1 > telnet.txt Telnet TERMINAL-SPEED option ON 

该“Telnetterminal速度选项打开”停止脚本的termiantion。 在telnet.txt捕获所需的详细信息:

 # cat telnet.txt Trying... Connected to ussltcsnh5001.solutions.glbsnet.com. Escape character is '^]'. Local flow control on HP-UX ussltcsnh5001 B.11.31 U ia64 (ta) login: 

那个dummy.txt包含用户名和密码吗? 看起来你被困在login提示符,这就是为什么命令不会被终止。 您需要传递用户名和密码,否则退出打开的会话。

试试这个会在两秒钟后终止telnet会话的例子。 如果你没有得到你需要的文字,你可以在这里增加超时时间。

例:

 telnet `"hostname"` < "dummy.txt" 2>&1 > telnet.txt & # Get its PID PID=$! # Wait for 2 seconds sleep 2 # Kill it kill $PID grep Escape telnet.txt >> telnet.txt if [ $? = 0 ]; then echo "Telnet is available" > telnet.txt else echo "Telnet is not available" > telnet.txt fi