在远程 ssh 命令中传递变量

新手上路,请多包涵

我希望能够使用 ssh 从我的机器运行命令并通过环境变量 $BUILD_NUMBER

这是我正在尝试的:

 ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER'

$BUILD_NUMBER 在进行 ssh 调用的机器上设置,并且由于远程主机上不存在该变量,因此不会被拾取。

如何传递 $BUILD_NUMBER 的值?

原文由 Fergal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

如果你使用

ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"

代替

ssh pvt@192.168.1.133 '~/tools/run_pvt.pl $BUILD_NUMBER'

在将命令字符串发送到远程主机之前,您的 shell 将插入 $BUILD_NUMBER

原文由 sarnold 发布,翻译遵循 CC BY-SA 2.5 许可协议

不评估单引号中的变量。使用双引号:

 ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"

shell 将扩展双引号中的变量,但不会扩展单引号。这将在传递给 ssh 命令之前更改为您想要的字符串。

原文由 Stephen 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题