Я пытаюсь написать script, чтобы разрешить мне входить на консольные серверы 48 портов, чтобы я мог быстро определить, какие устройства подключены к каждой последовательной линии.
По сути, я хочу иметь script, который, учитывая список хостов/портов, telnets для первого устройства в списке и оставляет меня в интерактивном режиме, чтобы я мог войти и подтвердить устройство, затем, когда я закрываю сеанс telnet, подключается к следующему сеансу в списке.
Проблема, с которой я сталкиваюсь, заключается в том, что если я запустил сеанс telnet из исполняемого файла bash script, сеанс немедленно прекратится, а не ждет ввода.
Например, учитывая следующий код:
$ 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?