Если я сделал test.sh в локальной системе с содержанием.
!/bin/bash
cd /Documents/test/sandbox
LatLong=java -jar test2.jar cape_town
ssh root@target 'cd /some path && ./DriveSimulator $LatLong'
Как я заставляю значение LatLong быть переданным в команде ssh? Поскольку вышеупомянутый метод теперь дает отказ сегментации.
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"
Таким образом, переменный LatLong будет интерполирован прежде, чем отправить его в удаленный хост