首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在远程ssh命令中传递变量

在远程ssh命令中传递变量
EN

Stack Overflow用户
提问于 2010-07-23 09:03:06
回答 5查看 138.4K关注 0票数 117

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

这是我正在尝试的:

代码语言:javascript
复制
ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER'

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

如何传递$BUILD_NUMBER的值?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-23 09:06:38

如果您使用

代码语言:javascript
复制
ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"

而不是

代码语言:javascript
复制
ssh pvt@192.168.1.133 '~/tools/run_pvt.pl $BUILD_NUMBER'

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

票数 217
EN

Stack Overflow用户

发布于 2010-07-23 09:06:06

不计算单引号中的变量。使用双引号:

代码语言:javascript
复制
ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"

shell将在双引号中展开变量,但不会在单引号中展开。在传递给ssh命令之前,它将更改为所需的字符串。

票数 30
EN

Stack Overflow用户

发布于 2020-04-20 02:35:45

默认情况下,SSHD上接受的环境变量列表包括LC_*。因此:

代码语言:javascript
复制
LC_MY_BUILDN="1.2.3" ssh -o "SendEnv LC_MY_BUILDN" ssh-host 'echo $LC_MY_BUILDN'
1.2.3
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3314660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档