使用 sshexec

问题描述

我在运行 oracle 的远程 Windows 服务器上安装了 cygwin。我正在尝试通过 Jenkins 中的 ANT 文件运行 sqlplus。我使用 sshexec 运行下面的命令,但它不起作用。

我可以在登录 SSH 时使其工作,然后首先输入“cmd”以切换到 Windows 命令提示符,然后输入下面的 sqlplus 语句成功了。

如何通过在 cmd.exe 中运行下面的 sqlplus 命令来使用脚本复制上述内容,或者先运行 cmd.exe 然后执行 sqlplus 命令,这样它就可以像我直接在 SSH 中执行一样工作。

<target name="compile.data">


<sshexec host="${ssh.hostname}"
verbose="true"
trust="true"
username="${ssh.username}"
password="${ssh.username}"
command="sqlplus ${db.username}/${db.password}@${db.hostname}:${db.port}:${db.sid} @${script.path}testscript.sql"/>
             
         
</target>

谢谢。

解决方法

我在我的问题之后找到了答案供参考:

<sshexec host="${ssh.hostname}"
verbose="true"
trust="true"
username="${ssh.username}"
password="${ssh.username}"
command='cmd /C "sqlplus ${db.username}/${db.password}@${db.hostname}:${db.port}:${db.sid} @${script.path}testscript.sql"'/>