Один из способов получить цветной вывод - это команда script
. Запуск сценария
запустит сеанс bash, в котором весь необработанный вывод записывается в файл (по умолчанию с именем машинописный текст
).
некоторые программы удаляют раскрашивание, когда понимают, что вывод не является телетайпом (т.е. когда вы перенаправляете их в другую программу). Вы можете сказать некоторым из них, чтобы они использовали цвет принудительно и сказали пейджеру включить раскрашивание, например, используйте less -R
Перенаправление не удаляет цвета, но многие команды обнаруживают, когда они отправляют вывод на терминал, и не будут создавать цвета по умолчанию, если это не так. Например, в Linux ls --color = auto
(который во многих местах имеет псевдоним plain ls
) не будет создавать цветовые коды при выводе в канал или файл, но ls --color
будет. Многие другие инструменты имеют аналогичные флаги переопределения, чтобы заставить их сохранять раскрашенный вывод в файл, но все они специфичны для отдельного инструмента.
Даже если у вас есть цветовые коды в файле, чтобы увидеть их, вам нужно использовать инструмент, который оставляет их нетронутыми. less
имеет флаг -r
для отображения данных файла в «необработанном» режиме; это отображает цветовые коды. править: Немного новые версии также имеют флаг -R, который специально учитывает цветовые коды и отображает их правильно, с лучшей поддержкой таких вещей, как перенос / обрезка строк, чем в необработанном режиме, потому что меньше может сказать, какие элементы контролируются коды и символы, которые на самом деле выводятся на экран.