Я пытаюсь написать сценарий bash, который будет выполнять следующий рабочий процесс:
- Telnet для подключения к сетевому устройству через IP-адрес на порту 9100
telnet x.x.x.x 9100
- Запустите команду SGD
! U1 getvar \"internal_wired.ip.timeout.value\"
. - Ожидайте выходное значение
"10"
.
Вот сценарий bash, который я написал до сих пор:
#!/bin/bash
IP=(x.x.x.x)
for i in ${IP}
do
echo " "
echo "Welcome! This script will check the timeout value of this networked device."
echo "The expected output should be `"10`". Let's get started!!"
echo " "
sleep 4
echo "5....."
sleep 1
echo "4...."
sleep 1
echo "3..."
sleep 1
echo "2.."
sleep 1
echo "1."
sleep 1
echo " "
telnet ${i} 9100 << END_SSH
sleep 5
getvar \"internal_wired.ip.timeout.value\"
sleep 5
END_SSH
done
Когда я запускаю этот скрипт через bash mycode.sh
, я получаю следующий вывод в Terminal.app:
$ bash mycode.sh
Welcome! This script will check the timeout value of this networked device.
The expected output should be "10". Let's get started!!
5.....
4....
3...
2..
1.
Trying x.x.x.x...
Connected to x.x.x.x.
Escape character is '^]'.
Connection closed by foreign host.
[user@server ~]$
x.x.x.x
— это IP-заполнитель, который просто нужно добавить.
По идее, после строки Escape character is '^]'.
скрипт должен был запустить команду ! U1 getvar "internal_wired.ip.timeout.value\"
.
Кроме того, мы должны были получить ожидаемый результат "10"
.
Когда я впервые написал этот скрипт, у меня изначально не было в нем команды END_SSH
. Коллега рассказал мне об этом и сказал обернуть команды telnet
в END_SSH
из-за того, что Терминал технически выходит из SSH, когда вы находитесь в telnet. Я пытался использовать END_SSH
, но безуспешно.
Как добиться успешного выполнения команды telnet и получения ожидаемого выходного значения?
IP
должна быть массивом позже, но сейчас я использую один IP-адрес, чтобы сначала лучше понять логику. Я попробовал ваш код и получил"?"
в качестве вывода вместо"10"
. Вы случайно не знаете, почему он делает это вместо того, чтобы выводить ожидаемое значение? 23.03.2019! U1 ...
верна, а также попробуйте настроить значения сна. 23.03.2019