如果我在本地系统中创建了一个包含以下内容的 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"
这样变量经纬度将在发送到远程主机之前进行插值