Como avaliar variáveis remotas de ambiente no SCP?

3

Existe uma maneira de avaliar as variáveis de ambiente em um host remoto ao usar o SCP?

Por exemplo, digamos que eu tenha $FOO= /mydir no host A; como eu faria algo como:

scp dogbert@hostA:$FOO/evil-secret-plans.txt .

É claro que $FOO não está definido na minha máquina local, então o comando acima não funciona como está.

    
por Bitgarden 25.11.2011 / 12:07

3 respostas

1

Experimente assim:

scp dogbert@hostA:$(ssh dagobert@hostA "echo $FOO")/evil-secret-plans.txt .

Um pouco de sobrecarga.

    
por 25.11.2011 / 12:20
1

O mais fácil é enviar o arquivo com tar ou gzip por stdout / stdin.

tar -czf - ./evilsecretfile.txt | ssh user@remoteHost "cd \${varOnRemoteSystem} ; tar -xzf - ."

ou

gzip -c localFileName.txt | ssh user@remoteHost "gzip -d > /remote/path/\${varOnRemoteSystem} ; chmod 666 /remote/path\${varOnRemoteSystem}"

    
por 24.08.2012 / 04:38
0

Adicione um \ :

scp dogbert@hostA:"\$FOO/evil-secret-plans.txt" .
    
por 17.10.2014 / 14:53