Как получить цветной канал?

Я использую FreeBSD с оболочкой csh. В качестве примера, в терминале / экране я получаю вывод цвета для ls (например, ls -lGs). Но когда я передаю его через more (например, ls -lGs | more), вывод не имеет цвета. Есть ли способ получить еще и цвет дисплея?

1 ответ

Я решил проблему в два этапа.

Сначала я устанавливаю переменную среды CLICOLOR_FORCE в.cshrc, чтобы принудительно выводить значения, отличные от TERM, для использования цветов, например:

CLICOLOR_FORCE 1

more имеет параметр командной строки -R для вывода цветовых последовательностей.

   -R or --RAW-CONTROL-CHARS
          Like  -r,  but  only ANSI "color" escape sequences are output in
          "raw" form.  Unlike -r, the screen appearance is maintained cor-
          rectly  in  most  cases.   ANSI  "color"  escape  sequences  are
          sequences of the form:

Эти два вместе дали мне желаемые результаты, поэтому

ls -lGs | more -R 

теперь отображает вывод в цвете.

Другие вопросы по тегам