LINUX.ORG.RU
ФорумAdmin

Помощь по expect

 , ,


0

2

Доброго времени суток. Есть некий скрипт на bash для бэкапа, например Cisco, который использует expect:

#!/bin/sh
                expect -c "
                spawn telnet 192.168.0.1;
                expect Username: ;
                send \"nixit\r\" ;
                expect Password: ;
                send \"\r\";
                expect \#;
                send \"terminal length 0\r\";
                expect \#;
                send \"show running-config view full\r\";
set output [open "/home/nixit/test-log" "w"]
                expect \#;
                send \"exit\r\";
                expect eof;"

Вопрос в следующем, как вывести в файл только то, что выдаст «show running-config view full». По идее, добавить set output [open «/home/nixit/test-log» «w»], однако ничего не записывается в «/home/nixit/test-log». В expect Не силен, прошу подсказать как заставить писать вывод команды в файл. Нужен именно вывод одной команды. Спасибо.

★★

Последнее исправление: nixit (всего исправлений: 1)

Пока решил проблему так :

#!/bin/sh
>/home/nixit/test-log

                expect -c "
                spawn telnet 192.168.0.1;
                expect Username: ;
                send \"nixit\r\" ;
                expect Password: ;
                send \"\r\";
                expect \#;
                send \"terminal length 0\r\";
                expect \#;
                send \"show running-config view full\r\";
               log_file /home/nixit/test-log
                 expect \#;
                send \"exit\r\";
                expect eof;"



sed -i '1,4d' /home/nixit/test-log
sed -i -e :a -e '$d;N;2,3ba' -e 'P;D' /home/nixit/test-log
Но уверен, что её можно решить без sed...

nixit ★★
() автор топика
Ответ на: комментарий от Turbid

Можно даже по snmp слить/менять конфиг. Но, мне нужно именно то, что я написал.

nixit ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.