ant - sshexec ant任务: environment variables

标签 ant build ssh

我正在使用 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/

相关文章:

docker - 如何在 Alpine 上的 OpenSSH 中调试无效的无密码 RSA 证书?

ant - 为 Ant Apply 任务指定多个输出文件或目标文件

java - 从文件中的列表或使用 ant 的属性创建/过滤文件集

visual-studio-2010 - 错误 MSB6006 : "cmd.exe" exited with code 1

git - Jenkins + Tomcat + Git + SSH 设置

java - 公钥或私钥作为连接远程数据库的密码,ssh

ant - 如何在 IntelliJ 中编译 apache PIG?

java - Ant 错误 "Exception in thread "AWT-EventQueue- 0"java.lang.NoClassDefFoundError: com/sun/jna/Library"

build - 使用 CMake,我如何将 "install an alias"发送到库?

java - 什么是 Maven Artifact ?