У меня есть устройство, подключенное к последовательному порту, которое предоставляет простую командную строку. Моя цель в конечном итоге взаимодействовать с ним через Expect. Я столкнулся с проблемой, хотя - когда я читаю вывод устройства с cat /dev/ttyS0
или screen /dev/ttyS0
, он решает использовать свой собственный вывод в качестве ввода.
>> BOOTING <<
Available commands:
help Show detailed help
test Run tests; see help for details
prompt>
В идеале, он будет ждать здесь возврата и затем выполнять команду. На самом деле то, что я вижу (без какого-либо участия от меня), выглядит примерно так:
prompt> Rn ests se hlp fo etis
Command 'Rn' not recognized. Enter 'help' for a list of choices.
prompt> ogizd. nter'hel' fo a lis of coie.
Command 'ogizd.' not recognized. Enter 'help' for a list of choices.
prompt> coics.
Command 'coics.' not recognized. Enter 'help' for a list of choices.
prompt> d. Ener 'elp'for listof coies
Command 'd.' not recognized. Enter 'help' for a list of choices.
И так далее, пока я не остановлю cat
. Интересно, что его перезапуск не выдаст выходной сигнал (пока я не включу и не включу устройство, после чего эта обратная связь начнется заново), что говорит мне о том, что он говорит сам с собой, только когда наблюдаю за его выходом. Отсутствующие персонажи подтверждают это предположение. Перенаправление cat
в файл ничего не меняет.
Код для командной строки не мой. У других пользователей такой проблемы не было.
Что может быть не так и как я могу это исправить?