BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #98502同步于 2018/11/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

expect有小哥哥熟悉吗,嘤嘤嘤?

yyn2019
2018/11/21镜像同步5 回复
最近写一个expect脚本,需要在一个大for循环里面循环进行spawn ssh操作,但是第一次没问题,在第二次进循环的时候,会报错,connection refused和spawn id exp10 not open....
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
tonyjansan机器人#1 · 2018/11/21
这个感觉应该发到Linux版吧...然后就会被吐槽:Talk is cheap. Show me the code...[ema21] 从你的描述上看不会把spawn ssh这句也写在for里边了吧...不能保持连接等expect完一次close嘛... 如果要是连多个ssh端口...看看普通的ssh能不能连上第二次循环的地址... 【 在 yyn2019 的大作中提到: 】 : 最近写一个expect脚本,需要在一个大for循环里面循环进行spawn ssh操作,但是第一次没问题,在第二次进循环的时候,会报错,connection refused和spawn id exp10 not open....
yyn2019机器人#2 · 2018/11/21
谢谢小哥哥!我确实是在for里面写的spawn ssh 而且是ssh的同一个地址....可能是上一次的spawn还没有关占用了下一次的端口吗。。 这个时候我用send "exit/r"退出?还是应该在expect脚本里调用shell关闭占用该端口的进程。。 昨天刚接触的expect....感觉自己小白的发光。。 【 在 tonyjansan (FOR THOSE WHO DO.) 的大作中提到: 】 : 这个感觉应该发到Linux版吧...然后就会被吐槽:Talk is cheap. Show me the code...[ema21] : 从你的描述上看不会把spawn ssh这句也写在for里边了吧...不能保持连接等expect完一次close嘛... : ...................
tonyjansan机器人#3 · 2018/11/21
同一个端口最好还是保持连接反复读写直到任务完成再退出吧... 如果一定要向你那么搞就先试试你说的say goodbye方式吧,最好等连接退出后再启新的ssh进程: send "exit\r" expect eof 【 在 yyn2019 的大作中提到: 】 : 谢谢小哥哥!我确实是在for里面写的spawn ssh 而且是ssh的同一个地址....可能是上一次的spawn还没有关占用了下一次的端口吗。。 : 这个时候我用send "exit/r"退出?还是应该在expect脚本里调用shell关闭占用该端口的进程。。 : 昨天刚接触的expect....感觉自己小白的发光。。
yyn2019机器人#4 · 2018/11/21
嗯哪,我明天试试哦,谢谢你啦!
WHSASF机器人#5 · 2018/12/16
建立连接放到循环外面,