Выполнить команду на устройстве через последовательное соединение с Plink

Это первый раз, когда я пытаюсь написать команду «plink», которая будет подключаться к устройству и впоследствии выполнять удаленную команду. А меня пока заблокировали.

Вот команда, которую я пробовал.

plink -v device ( execute shell; whoami)

Я ожидал, что полный процесс команды завершится сразу, но почему-то он зависает. вот скриншот после того, как я запустил указанную выше команду,

plink -v device ( execute shell; whoami) 
Opening serial device COM1
Configuring baud rate 115200
Configuring 8 data bits
Configuring 1 data bits
Configuring no parity
Configuring XON/XOFF flow control

И после того, как я нажал дополнительную клавишу «Ввод» на клавиатуре, я вижу всплывающее окно с именем устройства, что означает, что часть соединения готова,

plink -v device ( execute shell; whoami) 
Opening serial device COM1
Configuring baud rate 115200
Configuring 8 data bits
Configuring 1 data bits
Configuring no parity
Configuring XON/XOFF flow control

FX04DN4N16000408  #

Чего я не понимаю, так это зачем мне нужно запускать этот дополнительный шаг вручную?

Спасибо,

Джек


person user3595231    schedule 01.08.2018    source источник


Ответы (1)


Указание команды в командной строке Plink (или с помощью переключателя -m) работает только с SSH, а не с последовательными (или другими) соединениями. Причина в том, что эти соединения не имеют интерфейса для выполнения команды. У них есть только вход/выход. Таким образом, вместо этого вы можете использовать перенаправление ввода, например:

plink.exe ... < commands.txt

or

(
  echo your command 1
  echo your command 2
  echo your command 3
) | plink.exe ...
person Martin Prikryl    schedule 02.08.2018
comment
Спасибо, сэр. вы сэкономили мне кучу времени для этого. Запуск в режиме plink.exe ... ‹ input.txt работает в моем случае. - person user3595231; 02.08.2018