3

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

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

commands.bat |  putty -load i5IS-COM4

и command.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 ответ1

2

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

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


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

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

commands.bat | plink -load i5IS-COM4

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

plink -load i5IS-COM4 < commands.bat

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .