Ответы:
Скорее всего, у вас ls
есть псевдоним ls --color=auto
, который говорит ls
использовать цвета только тогда, когда его вывод tty. Если вы сделаете ls --color
(что морально эквивалентно ls --color=always
), это заставит его включить цвета.
Вы можете также изменить свой псевдоним, чтобы сделать это, но я бы не назвал это хорошей идеей. Лучше сделать другой псевдоним с --color
.
less
-R
тоже нужно .
ls --color=always | less
и получил: ESC[01;32mexecute_once.shESC[0m
(Я знаю, что это старый, и вы, вероятно, не волнует, но для будущих посетителей, это может быть полезно)
Попробуйте меньше с опцией -R вот так:
command | less -R
Это работает для меня в одной строке, как это:
ls -la | grep --color=always bash | less -r
И так тоже:
ls --color | less -R
Но вам нужно немного настроить первичный вывод (в данном случае вывод ls) с параметром --color.
-G
, что цвета отсутствуют
-R
Вариант является аббревиатурой --RAW-CONTROL-CHARS
.
ls --color
илиls --color=always
, если на то пошло?