A execução remota de um arquivo não está funcionando

0

Estou tentando executar um arquivo local (aqui /tmp/cmd ) em uma máquina remota (slc05bkt) usando o SSH. Aqui está o comando que estou tentando de um arquivo de script:

cmd="ssh -v ssuthari@slc05bkt \"bash -l -s\" < /tmp/cmd"
$cmd

Está me dando a seguinte exceção:

ksh: line 1: /tmp/cmd: cannot open [No such file or directory]

Mesmo depois de adicionar uma cópia desse arquivo local à máquina remota no mesmo local, estou causando mais um erro:

ksh: line 1: bash -l -s: not found

A ironia aqui é que eu sou capaz de executar o comando diretamente na linha de comando, mas não consigo executar linhas acima do script. Alguém por favor pode me ajudar a resolver esse problema?

    
por Sandeep Suthari 04.09.2015 / 14:51

1 resposta

1

$cmd não avalia sua variável, apenas a expande e passa para o shell como uma string, e é por isso que você está recebendo erros. No seu caso, tente eval "$cmd" .

E, de qualquer forma, sugiro usar $(ssh the_rest_of_your_command_line) em vez de eval "$cmd" , pois eval é um mau hábito.

    
por 04.09.2015 / 15:17

Tags