Ejecución de comandos por lotes a través de una conexión serie PuTTY

Ejecución de comandos por lotes a través de una conexión serie PuTTY

Tengo una secuencia de comandos que utilizo para actualizar el firmware en mi máquina Linux. Cuando me conecto a la máquina mediante una conexión en serie, puedo escribir los comandos uno por uno y funcionan bien. Me gustaría automatizar este procedimiento ejecutando los comandos en un archivo por lotes.

Tengo un perfil para mi conexión serie guardado como 'i5IS-COM4', así que ejecuto mi primer archivo por lotes, 'send.bat', que dice:

commands.bat |  putty -load i5IS-COM4

y comandos.bat lee:

echo "this command works!"

Cuando ejecuto 'send.bat', abre correctamente una terminal y se conecta a mi máquina Linux, pero el comando echo no funciona. Si alguien pudiera ayudarme a hacer funcionar mi archivo por lotes, ¡se lo agradecería mucho!

Revisé la siguiente publicación y varias otras, pero todavía tengo que encontrar una solución a mi problema.

Ejecute varios comandos desde un archivo después de iniciar sesión en PuTTY desde un archivo bat

editar:

Cuando uso la redirección de comandos usando plink en lugar de PuTTY, obtengo una terminal vacía. Ejecutando el siguiente comando: start plink.exe -load i5IS-COM4 < commands.txt con comandos.txt de la siguiente manera: echo "this command works!"; /bin/bash devuelve la siguiente terminal: ingrese la descripción de la imagen aquí

Respuesta1

PuTTY es una aplicación GUI, no una aplicación de consola. No puede utilizar la redirección de entrada/salida con una aplicación GUI.

No hay forma de ejecutar un comando en el servidor automáticamente con PuTTY a través de una conexión serie.


Aunque deberías poder usarPlink (herramienta de conexión de línea de comandos PuTTY).

Plink es un equivalente de PuTTY, excepto que es una aplicación de consola, por lo que puedes usar la redirección de entrada/salida con ella:

commands.bat | plink -load i5IS-COM4

Aunque su archivo "bat" en realidad no es un archivo por lotes (que produciría los comandos para el dispositivo), sino un archivo de texto que contiene directamente los comandos para el dispositivo, desea utilizar el contenido del archivo como entrada. en lugar del resultado de su ejecución:

plink -load i5IS-COM4 < commands.bat

información relacionada