我希望能够从我的机器上使用ssh运行命令并传递环境变量$BUILD_NUMBER
这是我正在尝试的:
ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER'
$BUILD_NUMBER
是在执行ssh调用的机器上设置的,由于该变量在远程主机上不存在,因此不会被提取。
如何传递$BUILD_NUMBER
的值?
发布于 2010-07-23 09:06:38
如果您使用
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
。
发布于 2010-07-23 09:06:06
不计算单引号中的变量。使用双引号:
ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"
shell将在双引号中展开变量,但不会在单引号中展开。在传递给ssh
命令之前,它将更改为所需的字符串。
发布于 2020-04-20 02:35:45
默认情况下,SSHD上接受的环境变量列表包括LC_*
。因此:
LC_MY_BUILDN="1.2.3" ssh -o "SendEnv LC_MY_BUILDN" ssh-host 'echo $LC_MY_BUILDN'
1.2.3
https://stackoverflow.com/questions/3314660
复制相似问题