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