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