Vraag Kleurt u in bash nadat u door minder hebt geboord?


Als ik dircolors heb gedefinieerd, is het leven vol met ... kleur.

Wanneer ik pijp ls door less om te scrollen verlies ik de kleuren.

Suggesties?


93
2018-06-16 13:30


oorsprong




antwoorden:


Hoogst waarschijnlijk uw ls is gealiast aan ls --color=auto, wat vertelt ls om alleen kleuren te gebruiken als de uitvoer een tty is. Als je dat doet ls --color (wat moreel equivalent is aan ls --color=always), waardoor het kleuren zal inschakelen.

Je zou ook je alias kunnen veranderen om dat te doen, maar dat zou ik niet echt een goed idee noemen. Het is beter om een ​​ander alias te maken --color.

less behoefte aan -Rook.


95
2018-06-16 13:38



Waarom zou je het geen goed idee noemen om alias te zijn? ls --color of ls --color=always, wat dat betreft? - j08lue
@ j08lue als je een opdracht doorvoert die niet met kleur omgaat, krijg je een aantal rommelfiguren die de opdracht kunnen verpesten. Dat deed ik bijvoorbeeld ls --color=always | less en kreeg: ESC[01;32mexecute_once.shESC[0m (Ik weet dat dit oud is en het kan je waarschijnlijk niet schelen, maar voor toekomstige bezoekers kan dit nuttig zijn) - Ryan Amos
@RyanAmos als een toekomstige bezoeker, bedankt. :) - malvim


Probeer minder met de -R optie zoals deze:

command | less -R

Dit werkt voor mij in een one-liner zoals deze:

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

En zo ook:

ls --color | less -R

Maar je moet de primaire uitvoer (de uitvoer van ls in dit geval) een beetje aanpassen met de parameter --color.


51
2018-06-16 13:33



Bedankt, dit werkt ook voor ack-grep. ack-grep my_string --color | minder -R - igniteflow
--kleur wordt niet herkend: ls: illegale optie - - bash uitvoeren op osx. - Scott Biggs
@Scott Biggs: in OSX is er geen --color; probeer ls -G
@ Lu-Chi, zelfs met -G, de kleuren ontbreken - Iulian Onofrei
In OS X moet je de omgevingsvariabele CLICOLOR_FORCE (voor alles) instellen wanneer de uitvoer van ls niet naar een terminal wordt geleid. Dit werkt voor mij: CLICOLOR_FORCE = ls -G | minder -R - jooon