我正在使用 SSHExec ant 任务连接到远程主机,并且我依赖于远程主机上设置的环境变量以便能够成功执行一些命令。
<sshexec host="somehost"
username="${username}"
password="${password}"
command="set"/>
使用任务环境。输出的变量与我使用 SSH 客户端登录时得到的变量不一样。
我怎样才能使环境。远程主机的变量可用于 session ?
最佳答案
实际上,您可以采取一些措施来解决它不启动 shell 的问题。使用以下内容:
<sshexec command="/bin/bash -l yourScript.sh" .../>
使用/bin/bash -l 将启动登录 shell,然后在该 shell 中执行脚本。这就像您有一个可以正确启动登录 shell 的 sshexec 版本一样。它必须是一个脚本。如果您想运行单个可执行命令,您可以这样做:
<sshexec command="/bin/bash -l -c 'echo $CATALINA_HOME'" .../>
关于ant - sshexec ant任务: environment variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074385/