如果我在本地系统中使用内容制作了 test.sh。
!/bin/bash
cd /Documents/test/sandbox
LatLong=java -jar test2.jar cape_town
ssh root@target 'cd /some path && ./DriveSimulator $LatLong'
Run Code Online (Sandbox Code Playgroud)
如何获取要在 ssh 命令中传递的LatLong值?因为上面的方法现在给出了一个分段错误。
小智 7
LatLong是在本地系统/会话中定义的,但您试图在远程系统上使用它,就好像它是在那里定义的一样。尝试用双引号替换单引号。另外我建议将变量赋值放在引号中
#!/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"
Run Code Online (Sandbox Code Playgroud)
这样,变量LatLong将在将其发送到远程主机之前进行插值