免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1059 | 回复: 7
打印 上一主题 下一主题

[文本处理] 关于expect [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-10-13 15:55 |只看该作者 |倒序浏览
请教下各位大神
#!/usr/bin/expect -f
……
spawn ssh ${Ip}
send "sh /op/aa.sh\r"
send "exit\r"
……
expect eof

代码如上,当aa.sh执行时间较长的时候,没执行完就执行了send "exit\r",这种情况怎么办啊,除了sleep还有其他方法吗?因为远程的aa.sh有一段是装软件的,需要耗费一定时间……

另,刚刚试了最后两句改为send "sh /op/aa.sh && exit\r"也还是不行,求大神指点~~

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
2 [报告]
发表于 2016-10-13 16:05 |只看该作者
所以只能用sleep吗,因为要在好多机器上运行aa.sh,都sleep的话整体会非常耗时?有其他更好方法吗?

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2016-10-13 16:18 |只看该作者
回复 1# ylypt123

expect ...
send    ...

expect ...
send    ...

...

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
4 [报告]
发表于 2016-10-13 16:23 |只看该作者
回复 3# jason680

看不懂……

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
5 [报告]
发表于 2016-10-13 16:26 |只看该作者
回复 3# jason680

可以具体点吗 意思是expect脚本里又写了expect?

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2016-10-26 16:19:04
6 [报告]
发表于 2016-10-13 17:32 |只看该作者
jason680 大神的意思是 安装完软件之后会有提示,捕捉一个安装完成的字符串然后send  exit

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
7 [报告]
发表于 2016-10-13 18:43 |只看该作者
回复 6# fh21_xuejinlian

因为aa.sh里会做个判断当前机器有没有装这个软件,没装的话才会进行安装,安装完成会有“Complete!”,另aa.sh最后一行是echo “checkEnd!”,我用了下面的,还是不行……

expect  "*Complete!*CheckEnd!" {sleep 2;send "exit\r";exit}
expect  "*CheckEnd!" {send "exit\r"}

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
8 [报告]
发表于 2016-10-13 19:55 |只看该作者
回复 6# fh21_xuejinlian

好啦解决了,让不同的情况输出不同的结果就好了,可能这俩expect有重合的地方,所以会有影响,谢谢热心解答,3Q~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP