Execute o comando para o servidor remoto via SSH após a exportação da variável

1

Eu tenho duas máquinas, A e B. Eu preciso executar um script que está localizado em B por SSHing lá de A.

Para que o script seja executado, também preciso exportar uma variável. Se eu apenas SSH exportar a variável e depois tentar novamente para o SSH e executar o script, a variável não estará mais disponível.

Existe uma maneira de exportar a variável e disponibilizá-la na mesma sessão com o script?

Eu estava esperando por algo assim (mas não funciona):

ssh root@B export PATH=$PATH:/add/stuff/here && runScript.sh

Mesmo se eu fizer o seguinte, o caminho não será atualizado:

ssh root@B export PATH=$PATH:/add/stuff/here && echo $PATH
    
por ddmichael 21.08.2015 / 19:08

1 resposta

2

Você está um pouco errado em passar o terceiro argumento. No comando fornecido, você passa instruções com muitos argumentos e, além disso, você echo local $PATH . Você deve passar o comando inteiro como um argumento, entre aspas simples.

Em vez de

ssh root@B export PATH=$PATH:/add/stuff/here && echo $PATH

Qual é:

(ssh + root@B + export + PATH=...) && (echo + $PATH)

Você deve fazer:

ssh root@B 'export PATH="$PATH:/add/stuff/here" && echo $PATH'

Qual é:

ssh + root@B + '(export + PATH=..) && (echo $PATH)'
    
por 21.08.2015 / 19:22