Программирование диалогов expect
Установка
server# apt install expect
Вариант использования с элементами конфигурации в коде скрипта
server# cat cisco_change_conf.exp
#!/usr/bin/expect
set sw [lindex $argv 0];
spawn ssh $sw
send "\n"
expect "sword:" { send "cisco\n" }
expect "#" { send "conf t\n" }
expect "#" { send "ip scp server enable\n" }
expect "#" { send "end\n" }
expect "#" { send "write\n" }
expect "#" { send "exit\n" }
send_user "\n"
exit 0
server# chmod +x cisco_change_conf.exp
server# ./cisco_change_conf.exp switchN
Вариант использования с элементами конфигурации в файле на tftp сервере
server# cat /srv/tftp/cisco_change_conf.txt
ip scp server enable
end
server# cat cisco_change_conf.exp
...
expect "#" { send "copy tftp://server/cisco_change_conf.txt runn\n" }
send "\n"
send "\n"
...