Назначить переменную на удаленном сервере - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь назначить переменную, используя SSH. Я хочу просто повторить содержимое переменной. Вот мой маленький сценарий:

#!/bin/bash
IP_PUBLIC="192.168.0.1"
ssh -oStrictHostKeyChecking=no root@"$IP_PUBLIC" '
    COMMUNITY=$(uname -n);
    echo '"$COMMUNITY"';
'

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

1 Ответ

1 голос
/ 26 апреля 2019

Вам просто нужно отбросить внутренние одинарные кавычки.

#!/bin/bash
IP_PUBLIC="192.168.0.1"
ssh -oStrictHostKeyChecking=no root@"$IP_PUBLIC" '
    COMMUNITY=$(uname -n);
    echo "$COMMUNITY";
'

Внешние одинарные кавычки уже защищают все внутри них от локальной оболочки;удаленная оболочка получает

COMMUNITY=$(uname -n);
echo "$COMMUNITY"

для выполнения, что правильно указано в кавычках.

...