#!/usr/local/bin/expect
set host 222.222.222.222
set username [lindex $argv 0]
set password [lindex $argv 1]
set prompt {00m# }
set timeout 3 #默认timeout 10秒过长,减少输入命令的等待时间。
package require Expect
spawn telnet $host
expect Username:
send $username\r
expect Password:
send $password\r
expect -exact $prompt
send "dis fan\r"
expect -exact $prompt
send save\r
expect N]
send y\r
expect key)
send \r
expect N]
send y\r
set timeout 30 #h3c保存配置文件时间较长,默认timeout 10秒过短,延长超时时间。
expect -exact $prompt
send reboot\r
expect N]
send y\r
set timeout 3
expect -exact $prompt
send quit\r
expect -exact $prompt
命令行提示符:
set prompt {00m# }
set expect "*$*" # 针对 prompt 是 xxxx$ 这样的形式,如果是 xxxx# 或 其它,要修改一下
interact
[ interact ]
执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
今天学习expect脚本,写了一个交互式的登陆h3c脚本,删除了一个arp绑定,参考了以下文:
阅读(1122) | 评论(1) | 转发(0) |