expect衍生应用--不自动退出&输出回显重定向
(2009-02-05 16:12:33)
标签:
expect衍生应用输出回显重定向不自动退出日志保存it脚本自动化 |
分类: 工作 |
expect脚本编写应用中会出现一些特殊需求,如果telnet某个服务端口登陆控制管理台查询数据。
下面是一个网上的脚本。
exec 6>&1
exec >/tmp/tresult
expect -c"
set timeout 30;
spawn
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