Здравствуйте! В bash только начинающий, жизнь заставила написать скрипт по работе. Скрипт заходит на оборудование по telnet и выполняет команды. Все работает. Теперь мне нужно зайдя скриптом на свитч, считать определенный текст. Т.е., скрипт заходит на свитч D-link, выполняет команду "show switch", которая выводит подробную информацию о девайсе. Вывод примерно такой:
Device Type : DES-3200-26 Fast Ethernet Switch
MAC Address : 14-D6-4D-**-**-**
IP Address : ip (Manual)
VLAN Name : default
Subnet Mask : 255.255.248.0
Default Gateway : gw
Boot PROM Version : Build 1.00.B004
Firmware Version : Build 1.80.B006
Hardware Version : A1
Serial Number :
System Name :
System Location :
System Uptime : 14 days, 6 hours, 1 minutes, 16 seconds
System Contact :
Spanning Tree : Disabled
GVRP : Disabled
IGMP Snooping : Enabled
VLAN Trunk : Disabled
802.1X : Disabled
Telnet : Enabled (TCP 23)
Web : Enabled (TCP 80)
RMON : Disabled
SSH : Disabled
SSL : Disabled
CLI Paging : Enabled
Syslog Global State: Enabled
Dual Image : Supported
Password Encryption Status : Enabled
Вот мне нужно считать первую строку "Device Type : DES-3200-26 Fast Ethernet Switch" и из нее выдрать "DES-3200-26" и поместить в переменную.
Пример скрипта (прошу строго не судить):
#!/bin/bash
cat ./names.txt | while read line
do
(
echo "admin"
sleep 1
echo "password"
sleep 1
echo "show switch"
sleep 1
echo "logout"
sleep 1
) | telnet $line
done
echo
Предполагаю, что нужно пользоваться sed и awk, но как именно встроить это все в этот код - не очень понятно. Знающему человеку это будет раз плюнуть))) Прошу помощи)