Как передать значение переменной в команде ssh

Если я сделал 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? Поскольку вышеупомянутый метод теперь дает отказ сегментации.

-1
задан 26 March 2019 в 04:56

1 ответ

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 будет интерполирован прежде, чем отправить его в удаленный хост

6
ответ дан 25 October 2019 в 23:19

Другие вопросы по тегам:

Похожие вопросы: