Я пишу программное обеспечение, которое взаимодействует со встроенным устройством под управлением версии busybox Linux. По сути, я просто отправляю команды на устройство и анализирую выходные данные команд. Команды выполняются либо непосредственно в оболочке linux, либо в командной строке внутреннего приложения CLI, работающего на устройстве.
Все работает отлично, за исключением того, что вывод усеян управляющими последовательностями управления терминалом. В терминальных приложениях, таких как teraterm или putty, эти escape-последовательности выполняют полезные функции, такие как ошибки цвета красного цвета и другие приятные функции для приятного пользовательского интерфейса.
Проблема в том, что я должен программно анализировать выходные данные команд и учитывать такие вещи, как "(esc)[2k" в выходных данных.
Например, типичное взаимодействие при отправке и получении, когда я отправляю команду «my-cmd», будет выглядеть следующим образом ...
[send] my-cmd
[receive] my-cmd <esc>[2Kprompt> my-cmd
output of the command
prompt>
Что я действительно хотел бы сделать, это отключить эти escape-последовательности. Это можно сделать в командной оболочке в начале сеанса? Или нет другого способа, кроме как отфильтровать вывод?