expect学习。

1166阅读 1评论2010-09-14 zbhdpx
分类:

#!/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绑定,参考了以下文:
 
 
 
http://www.ibm.com/developerworks/cn/aix/library/au-expect/
http://hi.baidu.com/zhongsti/blog/item/936892e97b3cb23cb80e2ddd.html
上一篇:(inode删除)删除文件名为问号的文件
下一篇:freebsd与linux中date参数使用的不同

文章评论