expect学习。
时间:2010-09-14 来源:zbhdpx
#!/usr/local/bin/expect
set host 125.13.228.46
set password huawei****
set username huawei
set prompt {00m# } set expect "*$*" # 针对 prompt 是 xxxx$ 这样的形式,如果是 xxxx# 或 其它,要修改一下
package require Expect
spawn telnet $host
expect Username:
send $username\r
expect Password:
send $password\r
expect -exact $prompt
#send "dis current-configuration\r"
#send system\r
#expect -exact $prompt
send "dis interface GigabitEthernet 1/0\r \r"
expect -exact $prompt
send system\r
expect -exact $prompt
send "undo arp 192.168.0.146\r \r"
expect -exact $prompt
send quit\r
expect -exact $prompt
send quit\r interact
[ interact ] 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。 今天学习expect脚本,写了一个交互式的登陆h3c脚本,删除了一个arp绑定,参考了以下文: http://www.ibm.com/developerworks/cn/aix/library/au-expect/ http://bbs.linuxtone.org/thread-7185-1-1.html http://bbs.chinaunix.net/thread-594417-1-1.html http://hi.baidu.com/zhongsti/blog/item/936892e97b3cb23cb80e2ddd.html
set password huawei****
set username huawei
set prompt {00m# } set expect "*$*" # 针对 prompt 是 xxxx$ 这样的形式,如果是 xxxx# 或 其它,要修改一下
package require Expect
spawn telnet $host
expect Username:
send $username\r
expect Password:
send $password\r
expect -exact $prompt
#send "dis current-configuration\r"
#send system\r
#expect -exact $prompt
send "dis interface GigabitEthernet 1/0\r \r"
expect -exact $prompt
send system\r
expect -exact $prompt
send "undo arp 192.168.0.146\r \r"
expect -exact $prompt
send quit\r
expect -exact $prompt
send quit\r interact
[ interact ] 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。 今天学习expect脚本,写了一个交互式的登陆h3c脚本,删除了一个arp绑定,参考了以下文: http://www.ibm.com/developerworks/cn/aix/library/au-expect/ http://bbs.linuxtone.org/thread-7185-1-1.html http://bbs.chinaunix.net/thread-594417-1-1.html http://hi.baidu.com/zhongsti/blog/item/936892e97b3cb23cb80e2ddd.html
相关阅读 更多 +