【发布时间】:2021-09-01 19:26:09
【问题描述】:
我需要在 Linux 上运行 SSH 并从本地文件执行命令到远程机器。这工作正常,但我还需要将本地环境变量传递给远程机器,以便命令可以使用这些值。
这是我正在运行的命令:
ssh -i ${SSH_PRIV_KEY} ${SSH_USER}@${IP} < setup.sh
我设置了一堆环境变量,当远程机器运行setup.sh 文件中的命令时,它需要能够使用本地机器上的环境变量。
我尝试了很多东西,但是来自其他类似线程的解决方案无法正常工作:
myVar='4.0.23'
export $myVar
ssh -i ${SSH_PRIV_KEY} ${SSH_USER}@${IP} myVar=myVar < setup.sh
我唯一能想到的就是在执行 ssh 之前附加文件的开头并硬编码那里的值,但如果可能的话,我想找到一个更干净的解决方案,因为我希望它是可重用的,并且唯一的运行之间对我来说的变化是环境变量。
【问题讨论】:
-
与您的问题无关,但还要注意
export $myVar扩展为export 4.0.23;你可能想export myVar。