我希望我的工作在其他服务器上执行一些命令。我创建了一个新的(参数化的)作业,它只执行 shell 命令。
我不知道如何让我的构建参数传递到远程命令行。
ssh myservername 'echo ${MY_PARAMETER}'
查看我的控制台输出,我看到:
+ ssh myservername echo ${MY_PARAMETER}
我想看到的是:
+ ssh myservername echo MyValueFromTheBuild
一定有办法实现这一点。
最佳答案
这是一个解决方案:
bash -c "ssh myservername 'echo ${MY_PARAMETER}'"
注意这里使用了本地机器上的变量值。它不会产生远程主机上变量的值。从上下文来看,前者似乎是您想要的。
一如既往,注意不要评估您无法完全控制的输入。
关于continuous-integration - 尝试在 HUDSON 中执行 SSH 命令时如何传递我的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670092/