免费注册 查看新帖 |

Chinaunix

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

expect问题请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-12 10:43 |只看该作者 |倒序浏览
#!/usr/bin/expect
spawn scp tt.py  herry@192.168.1.8:/home/userroothome/herry/
expect "*password:"
send "herry2006\n"
expect "tt.txt"
#sleep(10)
#exit

执行的结果
herry@localhost ~]$ send.sh
spawn scp tt.py herry@192.168.1.8:/home/userroothome/herry/
herry@192.168.1.8's password:
tt.py                                                                                               0%    0     0.0KB/s   --:-- E

请教哪位大侠能说说怎么回事么?

论坛徽章:
0
2 [报告]
发表于 2006-09-12 11:00 |只看该作者
你把具体的错误信息贴出来看看,另外,你的那个tt.py的文件和你的脚本是否在同一个目录?
还有你看看你用scp 复制命令时,你的expect "tt.txt" 这个地方是不是这个tt.txt?
还有你的那个脚本名字"send.sh" 也不是很规范.

论坛徽章:
0
3 [报告]
发表于 2006-09-12 11:15 |只看该作者
原帖由 guhun251 于 2006-9-12 10:43 发表
#!/usr/bin/expect
spawn scp tt.py  herry@192.168.1.8:/home/userroothome/herry/
expect "*password:"
执行的 ...

那个expect "*password:*"后面应该加个"*",因为在linux上的那个password:后面还有一个空格.
我的脚本是这样的:
#!/usr/bin/expect
spawn scp statu.tcl root@172.22.2.22:/root/
expect "*password:*"
send "123456\n"
expect eof
exit
脚本的名字叫send.tcl
然后执行:tclsh send.tcl
要保证你的文件和你的脚本在同一个目录下.

论坛徽章:
0
4 [报告]
发表于 2006-09-12 12:04 |只看该作者

感谢楼上的两位的帮助,原因找到了

expect "tt.txt"
错误在这一句,当出现tt.txt的时候,文件可能还没有传完,就已经退出了
因此改成
expect "*100%*"
就可以了。
多谢cu的兄弟!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP