sviluppo-web-qa.it

I colori in bash dopo il piping attraverso meno?

Quando ho definito i dircolors la vita è piena di ... colore.

Quando installo da ls a less per scorrere, perdo i colori.

Eventuali suggerimenti?

108
MathewC

Molto probabilmente il tuo ls è alias di ls --color=auto, che dice a ls di usare i colori solo quando l'output è tty. Se fate ls --color (che è moralmente equivalente a ls --color=always), che lo costringerà ad attivare i colori.

Potresti anche cambiare il tuo alias per farlo, ma non lo definirei davvero una buona idea. Meglio creare un diverso alias con --color.

less ha bisogno di -R, pure.

109
chaos

Prova di meno con l'opzione -R in questo modo:

command | less -R

Questo funziona per me in un one-liner come questo:

ls -la | grep --color=always bash | less -r

E così anche:

ls --color | less -R

Ma devi modificare un po 'l'output primario (in questo caso l'output di ls) con il parametro --color.

58
wzzrd