加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

expect衍生应用--不自动退出&输出回显重定向

(2009-02-05 16:12:33)
标签:

expect

衍生

应用

输出

回显

重定向

自动

退出

日志

保存

it

脚本

自动化

分类: 工作

expect脚本编写应用中会出现一些特殊需求,如果telnet某个服务端口登陆控制管理台查询数据。

下面是一个网上的脚本。

exec 6>&1
exec >/tmp/tresult

expect -c"
set timeout 30;
spawn  telnet 127.0.0.1 4000
expect \"*Welcome\";
send \"scan_temp\n\";
expect \"*\>\";
send \"exit\n\";
expect eof"

exec 1>&6 6>&-

 

 

 


 

工作中实际应用脚本:

# cat chack.exp
#!/usr/bin/expect
set timeout -1;

#永不超时退出


log_file chack.log 

#在你设置的文件中记录输出信息。必须注意,这个选项并不影响控制台输出信息,不过如果你通过crond设置expect脚本在半夜运行的话,你就确实可能需要这个命令来记录各种信息了。


log_user 1         

#设置是否显示输出信息,设置为1时是缺省值,为0 的话,expect将不产生任何输出信息,或者说简单地过滤掉控制台输出。必须记住,如果你用log_user 0关闭了控制台输出,那么你同时也就关闭了对记录文件的输出。
spawn telnet 192.168.0.73 2888

expect "*Please enter your account !"
send "admin\r"
expect "*Please enter your password !"
send "admin\r"
expect "*exit*"
send "trace\r"
expect eof

后台执行

#nohup chack.exp

这样就可以后台跑的chack脚本,想看当前log话就tail -f chack.log

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有