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

HPUX-“Telnet TERMINAL-SPEED 选项 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

“Telnet TERMINAL-SPEED 选项 ON”停止脚本的终止。所需详细信息捕获于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:

答案1

dummy.txt 是否包含用户名和密码?看起来您卡在了登录提示符处,这就是命令无法终止的原因。您需要传递用户名和密码,否则将退出打开的会话。

尝试这个示例,它会在两秒后终止 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

相关内容