我正在使用SSHExec ant任务连接到远程主机,并且我依赖于在远程主机上设置的环境变量才能成功执行某些命令。

<sshexec host="somehost"
    username="${username}"
    password="${password}"
    command="set"/>

使用任务环境。输出的变量与使用SSH客户端登录时得到的变量不同。

我该如何制作环境。 session 可用的远程主机变量?

最佳答案

实际上,您可以对它不会启动 shell 这一事实有所帮助。使用以下内容:

<ssshexec command="/bin/bash -l yourScript.sh" .../>

使用/ bin / bash -l将启动登录shell,然后在该shell中执行脚本。就像您拥有正确启动登录Shell的sshexec版本一样。它必须是一个脚本。如果要运行单个可执行命令,可以执行以下操作:
<sshexec command="/bin/bash -l -c 'echo $CATALINA_HOME'" .../>

10-08 18:53