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

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

Tenho uma sequência de comandos que utilizo 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 lote.

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

commands.bat |  putty -load i5IS-COM4

e comandos.bat lê:

echo "this command works!"

Quando 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 fazer meu arquivo em lote funcionar, ficaria muito grato!

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

Execute vários comandos de um arquivo após fazer login no PuTTY a partir de um arquivo bat

editar:

Quando uso o redirecionamento de comando usando plink em vez de putty, recebo apenas um terminal vazio. Executar o seguinte comando: start plink.exe -load i5IS-COM4 < commands.txt com comandos.txt da seguinte forma: echo "this command works!"; /bin/bash retorna o seguinte terminal: insira a descrição da imagem aqui

Responder1

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

Não há como executar um comando no servidor automaticamente com o PuTTY por meio de uma conexão serial.


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

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

commands.bat | plink -load i5IS-COM4

Embora seu arquivo "bat" não seja na verdade 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 como entrada, em vez da saída de sua execução:

plink -load i5IS-COM4 < commands.bat

informação relacionada