Я хочу использовать переменную, объявленную внутри сеанса SSH, для локального использования в моем скрипте оболочки.

Я хочу использовать переменную, объявленную внутри сеанса SSH, для локального использования в моем скрипте оболочки.

Всякий раз, когда я пытаюсь использовать переменную, объявленную внутри моей сессии SSH, она дает мне пустой вывод. Вот код, который я пытаюсь выполнить:

ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1

Мне удаётся получить желаемый вывод внутри сеанса SSH, но при вызове той же переменной за пределами SSH он возвращает пустой результат.

решение1

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

export usage1=$(ssh -T host <<\HERE
df -h|grep /nas/infa|sed s/%//g|awk '{printf("%d\n",$4)}'
HERE
)
echo $usage1

Связанный контент