Olha, deixa eu ver se entendi...
Você quer executar um script num servidor remoto e em seguida enviar 
dados de volta para o cliente?
O scp só faz cópia de arquivos, não executando nada. Por isso acredito 
que esteja indo pelo caminho errado.

Para executar um comando num servidor remoto faça algo como:
$ ssh [EMAIL PROTECTED] "/caminho/para/o/script.sh parâmetro1 parâmetro2"

O problema é que aí temos um caminho de um só sentido.

Um jeito de fazer o comando retornar algum conteúdo - como por exemplo 
copiar um arquivo, seria pegar a saída do comando scp e jogar num arquivo.

Como por exemplo para executar um script e em seguida obter uma imagem 
de uma partição do servidor remoto:

$ ssh [EMAIL PROTECTED] "/caminho/para/o/script.sh 1>&2; dd 
if=/dev/sda1" | dd of=/imagem/da/partição

O 1>&2 é para garantir que qualquer saída do script - uma impressão na 
tela - não irá poluir a minha entrada e corromper o arquivo. As streams 
- entradas padrão e de erro e e saída - do ssh são a mesma do shell 
corrente, o que é de grande utilidade :-)

Isto ajuda?

Responder a