<?xml version="1.0" ?>
<project name="test" default="root">
<target name="telnet">
<telnet server="10.1.1.1">
<read>login:</read>
<write>root</write>
<read>password:</read>
<write>${PASSWORD}</write>
<read>#</read>
<write>ls</write>
<read>#</read>
</telnet>
</target>
</project>
这是我在build.xml文件中的代码。当我运行ant(版本1.8,在bash中)(我已经下载并复制了jar的commons-net-2.0和jakarta-oro-2.0.8),这是我得到的输出:
Buildfile: /home/sagar/build.xml
telnet:
然后它就在那里。当我在服务器上执行“who”时,我可以看到“System”等待登录。但此后没有进展。我可以使用普通的telnet方法(putty,bash等)远程登录到服务器。
我甚至尝试了完整的telnet命令而不是读/写:
<telnet server="10.1.1.1" userid="root" password="root">
非常感谢任何帮助!
Note: JRE 1.5, Ant 1.8, commons-net version 2.0, jakarta version 2.0.8
答案 0 :(得分:4)
想出来。对于有这个问题的其他人:
Ant 1.8.0似乎不适用于commons-net-telnet。不知道为什么,但如果你可以使用1.7版本,那就可以了。
6个小时的头撞和挫折之后,这是一个无证版本问题。大! &GT;:
答案 1 :(得分:0)
不是Ant的专家(我在黑暗面使用Nant)但是看看telnet任务看起来有一个名为initialCR
的属性在登录后发送回车 - 默认值似乎是'否'。
我的想法是用户名/密码尚未提交,即只是等待按下“伪输入密钥”。
http://ant.apache.org/manual/Tasks/telnet.html
希望这有帮助