Phing ssh捕获命令结果奇怪的结果

时间:2013-12-20 12:05:41

标签: phing

我有一个简单的Phing脚本,应该ssh到服务器,做一些事情并返回结果,如下所示:

<project name="test" default="update">
<target name="update">
<ssh host="${db:host}" username="${db:host:ssh:user}" password="${db:host:ssh:password}" command="echo 'OK' &amp;&amp; echo 'NOOK'" display="true" property="ssh:result"/>
    <echo msg="result: ${ssh:result}"/>
</target>
</project>

我希望结果为'NOOK',但实际结果是:

     [echo] result: OK
NOOK

我有点困惑,因为我对最后执行的命令的值感兴趣,而不是第一个。任何提示?

1 个答案:

答案 0 :(得分:1)

结果是正确的。你的命令是回应&#39; OK&#39;如果它没有错误地通过,它应该回应&#39; NOOK&#39;。

echo 'OK' && echo 'NOOK'; # result is "OK\nNOOK"

如果您想要上一个命令的结果,它应该如下所示:

(exit $? && echo 'OK') || echo 'NOOK'

应该显示上一个命令的结果。你可以替换退出$?任何你想知道结果的命令。

编辑:问题是bash而不是phing ...如果你想知道最后一个phing命令的结果,你应该学习http://www.phing.info/docs/guide/trunk/apbs17.html以及如何获得想要知道结果的phing命令的返回值。

相关问题