日期:2014-05-16  浏览次数:20696 次

请教在shell中telnet的问题
急,急,急!
各位大侠,最近写一个shell中要使用telnet登录到别的服务器上
片段为:
      (sleep   2;echo   username   \
          sleep   2;echo   password   \
          sleep   1;echo   cmd   \
          sleep   1;echo   exit   \   )   telnet   host

但是运行到这一段的时候还没有echo   username   就被closed   by   foreign   host
如果在提示符下用手动敲命令,telnet完全没有问题
这几天在网上找的我急死了
把echo   username     变成   echo   username\n   ,   echo   username\t   都没用。
有遇到过相同问题的吗?

------解决方案--------------------
这个问题,前两天还有人问过:
答案是用expect,谢谢别人的答案
file:auto-telnet
#!/bin/sh
expect:
send username
expect:
send secret

expect的作用是让其停下来,等待你的输入@
------解决方案--------------------
echo username\r试试

这问题是要用expect,不过expect需要安装是个问题,尝试一下

telnet 192.168.0.88 < <EOF
user //用户名
123456 //密码
ls //看一下当前目录内有那些文件
EOF