Это вариант вопроса здесь: Каким образом локальная и удаленная переменные внутри команды SSH
Как получить «ssh-переменную» B на моем локальном компьютере?
A=3
ssh host@name "echo $A; B=5; echo $A; echo \$B;"
echo $A
echo $B
echo \$B
возвращает 3, НИЧЕГО, $ B
Как локально получить доступ к значению для B?
некоторые пояснения на основе комментариев: я использую bashскрипт для доступа к удаленному хосту, чтобы изменить некоторые вещи там, среди прочего, создать там рабочее пространство.Расположение этого рабочего пространства - это то, что я хочу сохранить в переменной и сохранить для дальнейшего использования.
По сути, у меня есть функция для перехода на удаленный хост и создания рабочей области, а затем еще одна функция для использования пути к этой рабочей области для выполнения там других операций.
Я надеялся наЛегкое, тонкое решение, которое можно интегрировать и легко прочитать с помощью команды, подобной этой:
ssh host@name "ws_allocate myworkspace; workspace=ws_find myworkspace;"
, а затем локально использовать $ workspace.Это часть большого bash-скрипта, который должен быть понятен для неопытных пользователей bash (таких как я) ...
Оказывается, это дубликат bash - лучший способ храненияпеременная между запусками?