символы основного потока tty

Я запускаю Linux на оборудовании без экрана и сбрасываю все данные на последовательный порт. Я читаю серийный номер Linux через такие приложения, как гипертерм или тератерм. Я получаю правильно отформатированный вывод для серийного номера. Однако, если я сброшу этот вывод в файл, а затем попытаюсь его прочитать, я увижу много дополнительных символов. В основном это должны быть символы управления потоком из ядра tty. Есть ли способ отключить эти символы управления потоком, поступающие из ядра tty. Вот как выглядит моя команда ls:

# ls
[0;0m1q[0m            [1;34mbin[0m           [1;34mhome[0m          [1;34mmnt[0m           [1;34msbin[0m          [1;34mvar[0m          [1;34mdev[0m           [1;32minit[0m          [1;34mopt[0m           [1;34msys[0m          [1;34metc[0m           [1;34mlib[0m           [1;34mproc[0m          [1;34mtmp[0m          [1;36mlinuxrc[0m       [1;34mroot[0m          [1;34musr[0m

Спасибо.


person agent.smith    schedule 05.03.2012    source источник
comment
@larsmans: Псевдоним не установлен. Мой roootfs не устанавливает никаких псевдонимов. Эти искаженные символы сопровождают каждую команду.   -  person agent.smith    schedule 05.03.2012


Ответы (1)


Это не символы управления потоком, это символы управления настройками атрибутов (в частности, настройками цвета) для xterms или другого терминального устройства, совместимого с цветом. Чтобы избавиться от них, отключите авто-раскрашивание в ls и других командах или установите TERM envvar на что-то, что не понимает управление цветом (или любым другим). TERM=dumb должно помочь.

person Chris Dodd    schedule 05.03.2012
comment
То, что ты говоришь, звучит правильно. Но, похоже, это не работает. Я установил его на немой и попробовал ls. Но все же это идет с искаженными данными. - person agent.smith; 05.03.2012
comment
: Я попробовал ls --color=none, и это работает отлично. Однако тупой не работает. Выглядит странно. Любое предложение? - person agent.smith; 05.03.2012