Chinaunix首页 | 论坛 | 博客
  • 博客访问: 649982
  • 博文数量: 197
  • 博客积分: 4858
  • 博客等级: 上校
  • 技术积分: 2162
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-06 22:46
文章分类

全部博文(197)

文章存档

2011年(30)

2010年(21)

2009年(25)

2008年(80)

2007年(41)

分类:

2010-09-14 16:23:26

#!/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绑定,参考了以下文:
 
 
 
阅读(1131) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-15 14:44:40

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com