1

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

1 ответ1

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 

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .