Executando comandos em lote através da conexão serial PuTTY

3

Eu tenho uma seqüência de comandos que uso para atualizar o firmware na minha máquina Linux. Quando me conecto à máquina usando uma conexão serial, posso digitar os comandos um por um e eles funcionam bem. Gostaria de automatizar esse procedimento executando os comandos em um arquivo em lotes.

Eu tenho um perfil para minha conexão serial salvo como 'i5IS-COM4', então eu executo meu primeiro arquivo em lote, 'send.bat', que diz:

commands.bat |  putty -load i5IS-COM4

e commands.bat lê:

echo "this command works!"

Quando eu executo 'send.bat' ele abre corretamente um terminal e se conecta à minha máquina Linux, mas o comando echo não está funcionando. Se alguém pudesse me ajudar a obter o meu arquivo de lote para trabalhar, seria muito apreciado!

Examinei a postagem a seguir e vários outros, mas ainda não encontrei uma solução para o problema.

Executar vários comandos de um arquivo depois de efetuar login no PuTTY a partir de um arquivo bat

editar:

Quando eu uso o redirecionamento de comandos usando o plink ao invés do putty, eu só pego um terminal vazio. Executando o seguinte comando: %código% com o comando.txt da seguinte forma: %código% retorna o seguinte terminal:

    
por foxymop 04.04.2018 / 23:54

1 resposta

2

PuTTY é uma aplicação GUI, não uma aplicação de consola. Você não pode usar o redirecionamento de entrada / saída com um aplicativo GUI.

Não há como executar automaticamente um comando no servidor com o PuTTY através de uma conexão serial.

Embora você deva ser capaz de usar Plink (ferramenta de conexão de linha de comando do PuTTY) .

Plink é um equivalente do PuTTY, exceto que é um aplicativo de console, portanto você pode usar o redirecionamento de entrada / saída com ele:

commands.bat | plink -load i5IS-COM4

Embora o seu arquivo "bat" não seja realmente um arquivo em lote (que produziria os comandos para o dispositivo), mas um arquivo de texto que contém diretamente os comandos para o dispositivo, você deseja usar o conteúdo do arquivo. o arquivo como uma entrada, em vez de uma saída de sua execução:

plink -load i5IS-COM4 < commands.bat
    
por 05.04.2018 / 08:01