我正在尝试编写一个脚本以允许我登录到控制台服务器的 48 个端口,以便我可以快速确定哪些设备连接到每条串行线路。
本质上,我希望能够有一个脚本,给定主机/端口列表,远程登录到列表中的第一个设备并让我处于交互模式,以便我可以登录并确认设备,然后当我关闭telnet 会话,连接到列表中的下一个会话。
我面临的问题是,如果我从可执行的 bash 脚本中启动 telnet 会话,会话会立即终止,而不是等待输入。
例如,给定以下代码:
$ cat ./telnetTest.sh
#!/bin/bash
while read line
do
telnet $line
done
$
当我运行命令'echo "hostname" | testscript.sh' 我收到以下输出:
$ echo "testhost" | ./telnetTest.sh
Trying 192.168.1.1...
Connected to testhost (192.168.1.1).
Escape character is '^]'.
Connection closed by foreign host.
$
有谁知道停止自动关闭 telnet 会话的方法?