Ваш var2
живет только на удаленном компьютере. Вам нужно зафиксировать значение в своей собственной коробке.
var2=$(ssh [email protected] 'some shell command')
EDIT: просто сделать себя более ясным:
Конспект команды SSH является:
ssh [email protected] [command]
В command
работает полностью на удаленной машине, он принимает стандартный ввод от локальный терминал через SSH и выводит как его stdout, так и stderr на локальный терминал через SSH.
В случае
ssh [email protected] 'var2=$(command)'
переменная var2
создается на удаленной машине, и она захватывает стандартный вывод command
также на удаленной машине. В локальной коробке создано var2
.
Но если выполнить замену команды на локальном поле, включив всю команду SSH в $()
это работа, то вывод удаленной команды захватывается в локальной переменной:
var2=$(ssh [email protected] 'command')
почему ты используются одинарные кавычки после ssh, которые заканчиваются после 'echo $ var2'? – Skynet
Я хочу получить доступ к серверу удаленно. var1 сохранит результат из локальных машин и хранилищ var2 с удаленной машины. Я хочу сравнить результаты и действовать на них. –