Como persistir a variável do shell remoto

2

Eu estou fazendo ssh em uma máquina e executando certos comandos.

Meu último comando me dá uma variável que eu preciso para um script presente localmente. No entanto, como eu acesso essa variável depois de sair da máquina?

Edit: Por favor, suponha que eu já faça o login na máquina.

    
por Anant Simran Singh 15.03.2017 / 12:53

2 respostas

0

Depende de como você deseja fazer isso. Obtendo a saída de um único comando dentro de uma sessão interativa não é tão fácil de fazer automaticamente. Você poderia, é claro, apenas copiar e colar a saída do terminal. Mas você também pode salvar a saída em um arquivo no controle remoto e, em seguida, fazer algo como var=$(ssh remote "cat file.with.var") ou executar o comando que gera a saída final de forma semelhante: var=$(ssh remote "somecommand") .

Ou, se você quiser fazer isso diretamente de uma sessão interativa, pode criar um script de expectativa para fazer isso.

    
por 15.03.2017 / 13:07
3

Você pode capturar a saída do comando que você executou remotamente para uma variável local na máquina cliente.

myvar="foo" 
echo "$myvar"
myvar=$(ssh user@hostname 'myvar="bar"; echo $myvar')
echo "$myvar"

Observe as aspas simples ao redor do comando remoto: 'myvar="bar"; echo $myvar' . Isso impede que o shell expanda $myvar localmente antes de enviar o comando ao host remoto para avaliação.

    
por 15.03.2017 / 13:07

Tags