免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: expert1
打印 上一主题 下一主题

[学习共享] expect FAQ [复制链接]

论坛徽章:
0
51 [报告]
发表于 2013-09-05 01:01 |只看该作者
好贴,顶啊

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
52 [报告]
发表于 2014-06-18 20:49 |只看该作者


惭愧,高级话题一直没写,其实也没什么高级可言。

expect -d you.exp
看得清清楚楚的。

论坛徽章:
0
53 [报告]
发表于 2014-07-22 23:56 |只看该作者
楼主帮忙看个问题:
脚本名称:config.exp
......
expect "ipaddress:"
send "172.16.0.1\r"
expect "the hostname:"
send "test1"
......
写的脚本,前面都正常运行,到输入IP时,使用send仅打出来前面7位(172.16.)就停止了,没有任何提示;
使用expect -d config.exp看debug信息,发现在确认the hostname时,将172.16.又send给了hostname,然后就挺下来了

这种问题怎么解决,楼主帮帮忙吧

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
54 [报告]
发表于 2014-07-23 10:47 |只看该作者
回复 53# 765368332


    expect -d 的结果贴出吧。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
55 [报告]
发表于 2014-07-23 11:10 |只看该作者
目测应该加个sleep

论坛徽章:
0
56 [报告]
发表于 2014-08-15 15:28 |只看该作者
回复 1# expert1


    大神请教下关于远程命令结果放到变量里去的一个问题,我怎么也取不到值。
    从linux 到 aix上去。能帮忙看看吗,我result一直取出来是空白的。

#!/bin/bash
H=10.100.100.100
U=oracle
PW=oracle
expect -c "
set timeout 20
spawn telnet $H
expect login:
send \"$U\r\"
expect sword:
send \"$PW\r\"
expect "apple"
send \"ls |tail -1\r\"
expect -indices -re "..sql"
set result \$expect_out(buffer);
puts result=\$result;
send \"exit\r\"

expect eof
"
echo "aa"$result

exit

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
57 [报告]
发表于 2014-08-15 16:20 |只看该作者
回复 56# crazytomcheng


    应该用here doc, 参考http://blog.chinaunix.net/uid-20778583-id-265306.html

论坛徽章:
0
58 [报告]
发表于 2014-08-15 16:56 |只看该作者
回复 57# expert1


谢谢 通过log_file \$result是可以把结果放在一个log文件上面。
还有两个问题:

1,有没有办法,直接通过赋值变量的方法实现,而不需要再去读取文件里面的内容,因为我下面的sh处理需要根据取得的值做很多操作,我想在sh里面实现,而不再expect里面实现。
2,我看帮助文档里面,说实行log_file 不加参数可以把log关闭,但是我关闭不了,用 log_file的话,直接报错了,请教您是怎么实现log的关闭的?

   

论坛徽章:
0
59 [报告]
发表于 2014-08-15 16:59 |只看该作者
回复 57# expert1


    不好意思,第二问题是我别的问题,log_file可以实现关闭的。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
60 [报告]
发表于 2014-08-15 17:42 |只看该作者
回复 58# crazytomcheng


    可以啊,在bash里面嵌套expect,用here doc

#!/bin/sh

var='xxx'

expect >\!

....

!

大概是这样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP