Запуск пакетных команд через последовательное соединение PuTTY

Запуск пакетных команд через последовательное соединение PuTTY

У меня есть последовательность команд, которую я использую для обновления прошивки на моей машине Linux. Когда я подключаюсь к машине с помощью последовательного соединения, я могу вводить команды одну за другой, и они работают нормально. Я хотел бы автоматизировать эту процедуру, запустив команды в пакетном файле.

У меня есть профиль для моего последовательного соединения, сохраненный как «i5IS-COM4», поэтому я запускаю свой первый пакетный файл «send.bat», который гласит:

commands.bat |  putty -load i5IS-COM4

и commands.bat гласит:

echo "this command works!"

Когда я запускаю 'send.bat', он правильно открывает терминал и подключается к моей машине Linux, но команда echo не работает. Если кто-нибудь может помочь мне заставить мой пакетный файл работать, я буду очень признателен!

Я просмотрел следующий пост и ряд других, но так и не нашел решения своей проблемы.

Запуск нескольких команд из файла после входа в PuTTY из bat-файла

редактировать:

Когда я использую перенаправление команд с помощью plink вместо putty, я просто получаю пустой терминал. Выполнение следующей команды: start plink.exe -load i5IS-COM4 < commands.txt с commands.txt следующим образом: echo "this command works!"; /bin/bash возвращает следующий терминал: введите описание изображения здесь

решение1

PuTTY — это приложение GUI, а не консольное приложение. Вы не можете использовать перенаправление ввода/вывода с приложением GUI.

Невозможно автоматически выполнить команду на сервере с помощью PuTTY через последовательное соединение.


Хотя вы должны быть в состоянии использоватьPlink (инструмент командной строки PuTTY).

Plink — это эквивалент PuTTY, за исключением того, что это консольное приложение, поэтому с его помощью можно использовать перенаправление ввода/вывода:

commands.bat | plink -load i5IS-COM4

Хотя, поскольку ваш файл «bat» на самом деле не является пакетным файлом (который создавал бы команды для устройства), а представляет собой текстовый файл, который непосредственно содержит команды для устройства, вы хотите использовать содержимое файла в качестве входных данных, а не выходных данных его выполнения:

plink -load i5IS-COM4 < commands.bat

Связанный контент