Ausführen von Batch-Befehlen über die serielle PuTTY-Verbindung

Ausführen von Batch-Befehlen über die serielle PuTTY-Verbindung

Ich habe eine Befehlsfolge, mit der ich die Firmware auf meinem Linux-Rechner aktualisiere. Wenn ich mich über eine serielle Verbindung mit dem Rechner verbinde, kann ich die Befehle einzeln eingeben und sie funktionieren einwandfrei. Ich möchte diesen Vorgang automatisieren, indem ich die Befehle in einer Batchdatei ausführe.

Ich habe ein Profil für meine serielle Verbindung als „i5IS-COM4“ gespeichert, also führe ich meine erste Batchdatei „send.bat“ aus, die lautet:

commands.bat |  putty -load i5IS-COM4

und commands.bat lautet:

echo "this command works!"

Wenn ich „send.bat“ ausführe, wird ein Terminal korrekt geöffnet und eine Verbindung zu meinem Linux-Rechner hergestellt, aber der Echo-Befehl funktioniert nicht. Wenn mir jemand helfen könnte, meine Batchdatei zum Laufen zu bringen, wäre ich sehr dankbar!

Ich habe mir den folgenden Beitrag und einige andere angesehen, aber noch keine Lösung für mein Problem gefunden.

Führen Sie mehrere Befehle aus einer Datei aus, nachdem Sie sich von einer Bat-Datei aus bei PuTTY angemeldet haben

bearbeiten:

Wenn ich die Befehlsumleitung mit plink statt mit putty verwende, erhalte ich nur ein leeres Terminal. Wenn ich den folgenden Befehl start plink.exe -load i5IS-COM4 < commands.txt mit commands.txt wie folgt ausführe, echo "this command works!"; /bin/bash wird das folgende Terminal zurückgegeben: Bildbeschreibung hier eingeben

Antwort1

PuTTY ist eine GUI-Anwendung, keine Konsolenanwendung. Sie können die Eingabe-/Ausgabeumleitung nicht mit einer GUI-Anwendung verwenden.

Es gibt keine Möglichkeit, mit PuTTY über eine serielle Verbindung automatisch einen Befehl auf dem Server auszuführen.


Sie sollten jedoch in der Lage sein,Plink (PuTTY-Befehlszeilenverbindungstool).

Plink ist ein Äquivalent zu PuTTY, mit dem Unterschied, dass es eine Konsolenanwendung ist, sodass Sie damit die Eingabe-/Ausgabeumleitung verwenden können:

commands.bat | plink -load i5IS-COM4

Da Ihre „bat“-Datei aber eigentlich keine Batchdatei ist (die die Befehle für das Gerät erzeugen würde), sondern eine Textdatei, die direkt die Befehle für das Gerät enthält, möchten Sie den Inhalt der Datei als Eingabe und nicht als Ausgabe ihrer Ausführung verwenden:

plink -load i5IS-COM4 < commands.bat

verwandte Informationen