Esperar script não imprime (cat) um arquivo no servidor remoto

1

Eu tenho um script de espera que verifica se um arquivo existe em um servidor remoto e, em seguida, tenta imprimir (usando cat) se ele faz

Por algum motivo, o script expect ignora esses comandos.

send "if {[file exists "./abc.test"]} {cat ./abc.txt\r}"
    
por Sharjeel 06.08.2009 / 09:37

3 respostas

1

Aqui está o que eu fiz e funcionou agora

cat /some/path/abc.txt 2> /dev/null

Dessa forma, o arquivo é impresso se existir e não gera um erro se não existir.

    
por 11.08.2009 / 12:21
1

Eu nunca usei o Expect, mas sua amostra de código ...

if {[file exists "./abc.test"]} {send "cat ./abc.txt\r"}

... parece verificar a existência de arquivos na máquina, mas não a remota. Então, a menos que o script esteja sendo executado no servidor remoto, não funcionará.

    
por 06.08.2009 / 20:51
0

Hm, você provavelmente está fazendo as coisas de uma forma bastante indireta.

Primeiro, descreva seu contexto:

  • Exatamente como (linha de comando completa) você invoca esse script?
  • Como ele acessa o servidor remoto? Não há acesso remoto no script que você fornece.

Finalmente, o que você está realmente tentando fazer? Se você deseja imprimir um arquivo em um sistema remoto, provavelmente é mais fácil chamar diretamente o ssh. Esperar é destinado a programas de script que não possuem uma linguagem de script (como clientes FTP simples). É desnecessariamente complicado usá-lo com um shell de comando, que já possui uma poderosa linguagem de script.

    
por 06.08.2009 / 10:09