Odpowiedzi:
Najprawdopodobniej twój ls
jest aliasowany ls --color=auto
, co mówi, ls
aby używać kolorów tylko wtedy, gdy jego wynik jest tty. Jeśli to zrobisz ls --color
(co jest moralnie równoważne ls --color=always
), wymusi to włączenie kolorów.
Możesz również zmienić swój alias, aby to zrobić, ale tak naprawdę nie nazwałbym tego dobrym pomysłem. Lepiej zrobić inny alias --color
.
less
też potrzebuje -R
.
ls --color=always | less
i dostałem: ESC[01;32mexecute_once.shESC[0m
(Wiem, że to jest stare i prawdopodobnie nie obchodzi cię to, ale dla przyszłych gości może się to przydać)
Wypróbuj mniej dzięki opcji -R takiej jak ta:
command | less -R
Działa to dla mnie w jednej linijce:
ls -la | grep --color=always bash | less -r
I tak też:
ls --color | less -R
Ale musisz nieco ulepszyć pierwotne wyjście (w tym przypadku wyjście ls) za pomocą parametru --color.
-G
to brakuje kolorów
-R
Opcja jest skrótem --RAW-CONTROL-CHARS
.
ls --color
lubls --color=always
, jeśli o to chodzi?