0

我正在使用execAnt 任务编写文件。它工作正常,但不显示 scp 命令的输出。

下面是代码

  <target name="scp-jar" depends = "jar">
      <exec executable="/usr/bin/scp">
          <arg value="my.jar"/>
          <arg value="myserver:dir"/>          
      </exec>
  </target>

我必须进行哪些更改才能显示 scp 命令的文件进度输出?

4

3 回答 3

0

默认情况下,命令的输出被写入标准输出,您可以指定输出属性将其更改为文件。更多细节在这里:http ://ant.apache.org/manual/Tasks/exec.html

但是很难重定向 SCP 的输出。您可能希望在您的情况下使用标志 -v 。

于 2012-12-18T08:16:08.210 回答
0

ant SCP 任务可以显示该信息。用户详细标志。

此任务需要额外的 jars(jsch.jar 0.1.42 或更高版本)

于 2012-12-18T09:27:02.687 回答
0

正如@Tanuki Software 提到的,scp如果stdout 不是 tty ,则不会打印进度条。

所以问题更多是与Ant 任务有关,scp而不是与 Ant 任务有关。

我尝试使用 的-v选项scp,但它显示调试信息和进度条。

所以只有两种选择

  • 使用 Exec 任务并错过进度条。(或者)
  • 使用 Scp 任务,但它需要额外的 jar,在 mac 中无法正常工作,并且很难使其使用 .sshconfig 文件中的默认设置。

我最终选择了第一个选项。

于 2012-12-19T14:03:43.973 回答