Чтение переменных во вложенных кавычках - PullRequest
1 голос
/ 25 сентября 2019

Я хочу подключиться к ssh, запустить контейнер и запустить несколько команд.Код будет выглядеть так:

ssh $host 'screen -L -d -m bash -c "docker run "\
  "--network=host -v ~/data:/data myimage:${TAG_NAME}"\
  " /bin/bash -c \" some command.... \""'

Вопрос прост, поскольку я использовал одинарную кавычку, я не могу прочитать ${TAG_NAME}.Можно ли написать этот тип вложенных кавычек, а также передать переменную?

1 Ответ

0 голосов
/ 25 сентября 2019

Вы можете остановить и запустить одинарные кавычки, чтобы включить переменную окружения, например:

echo 'foo'"$HOME"'foo'

Для вашего примера, способ включить env var (из вашей локальной системы) в команду, котораяработает на $host будет:

ssh $host 'screen -L -d -m bash -c "docker run'\
 ' --network=host -v ~/data:/data myimage:'"$TAG_NAME"\
 ' /bin/bash -c \" some command.... \""'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...