如何在 ssh 命令中传递变量的值

如何在 ssh 命令中传递变量的值

如果我在本地系统中创建了一个包含以下内容的 test.sh。

!/bin/bash
cd /Documents/test/sandbox 
LatLong=java -jar test2.jar cape_town
ssh root@target 'cd /some path && ./DriveSimulator $LatLong'

我如何获得经纬度在 ssh 命令中传递什么?因为上面的方法现在会出现分段错误。

答案1

经纬度在本地系统/会话中定义,但您尝试在远程使用它,就好像它是在那里定义的一样。尝试将单引号替换为双引号。此外,我建议将变量赋值放在引号中

#!/bin/bash
cd /Documents/test/sandbox 
LatLong=$(java -jar test2.jar cape_town)
echo here is LatLong $LatLong
ssh root@target "cd /some path && ./DriveSimulator $LatLong"

这样变量经纬度将在发送到远程主机之前进行插值

相关内容