Continuous integration 在HUDSON中执行SSH命令时,如何传递参数

Continuous integration 在HUDSON中执行SSH命令时,如何传递参数,continuous-integration,hudson,Continuous Integration,Hudson,我希望我的工作是在其他服务器上执行一些命令。我创建了一个新的(参数化)作业,它只执行shell命令 我不知道如何将我的构建参数传递到远程服务器的命令行 ssh myservername 'echo ${MY_PARAMETER}' 查看我的控制台输出,我看到: + ssh myservername echo ${MY_PARAMETER} 我想看到的是: + ssh myservername echo MyValueFromTheBuild 一定有办法做到这一点。我的猜测是尝试以下语法形式

我希望我的工作是在其他服务器上执行一些命令。我创建了一个新的(参数化)作业,它只执行shell命令

我不知道如何将我的构建参数传递到远程服务器的命令行

ssh myservername 'echo ${MY_PARAMETER}'
查看我的控制台输出,我看到:

+ ssh myservername echo ${MY_PARAMETER}
我想看到的是:

+ ssh myservername echo MyValueFromTheBuild

一定有办法做到这一点。

我的猜测是尝试以下语法形式之一:

ssh myservername 'echo $MY_PARAMETER'
ssh myservername 'echo ${ENV, var="MY_PARAMETER"}'
这里有一个解决方案:

bash -c "ssh myservername 'echo ${MY_PARAMETER}'"
请注意,此处使用本地计算机上的变量值。它不会在远程主机上生成变量的值。从上下文来看,前者似乎是你想要的


和以往一样,请注意不要评估您无法完全控制的输入。

我在Jenkins服务器上使用它,它对我来说运行良好


ssh myserver name“echo$PROJECTNAME”

感谢您的快速响应,但这会给出相同的结果。已更新以包含另一个选项。不同的结果:bash:${env,var=“MY_PARAMETER”}:错误的替换我想我应该添加一个事实,即我正在使用bash shell将ssh'ing添加到Linux框中。在shell命令中使用单引号意味着环境变量不会被扩展@Soo Wei Tan给出了答案。这有没有得到过回答?也许是我当时使用的插件版本,但Neilb的答案对我的案例有效。我猜对于詹金斯夫妇来说,陈秀伟的答案只提供了参数。我试图传递作为输入字段传递到作业中的参数。