Es könnte noch etwas anderes los sein. lssollte keine Farben verwenden, es sei denn, es glaubt, mit etwas Interaktivem verbunden zu sein. Es sollte die Dinge nicht färben, wenn Sie zu einem anderen Programm weiterleiten.
Ein Alias ist in der Regel eine schlechte Idee, da Sie diese Option nie loswerden können und sich an persönliche Einstellungen gewöhnen, die Sie möglicherweise nicht auf einen anderen Computer übertragen können, an dem Sie arbeiten müssen. Wenn Sie es ausschalten müssen, um es an etwas anderes weiterzuleiten, verwenden Sie den Schalter in dieser Leitung. Aber Farben sollten nicht in einer Pfeife sein.
Überprüfen Sie ls, ob Ihre die LS_COLORSUmgebungsvariable unterstützt . Das trapd00r / LS_COLORS zeigt Ihnen, wie das funktioniert. Mit dircolors können Sie die Farben minutiös und nach Dateityp anpassen. Wenn Sie nicht festlegen, LS_COLORSsondern die Farbgebung aktiviert haben, lswerden eine Reihe von Systemaufrufen ausgeführt, um die Dateitypen und -attribute zu ermitteln, damit ermittelt werden kann, welche Farben verwendet werden sollen. Die Leute hinter Sherlock haben festgestellt, dass die Einstellung LS_COLORSall dies vermeiden und die Geschwindigkeit um das 40-fache verbessern kann . Lesen Sie ihre blutigen Details, um zu sehen, was sie gefunden haben.
Ich lasse alle Dateitypen die Standardfarben verwenden:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
Hier ist die LS_COLORS-Datei, die ich Dircolors hinzugefügt habe:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
Für grep, ob Ihr Träger GREP_COLORSoder GREP_OPTIONS.
lsundgrepbeim Piping müssen Sie nichts tun, da das Coloring--color=autobereits deaktiviert ist, wenn es sich bei der Ausgabe um eine Pipe handelt, oder eigentlich um alles andere als eine Tty. das ist, was "auto" bedeutet. Ebenso ist FreeBSDls -Goder 'CLICOLOR' 'deaktiviert, wenn die Ausgabe nicht an ein Terminal gerichtet ist, es sei denn ... CLICOLOR_FORCE ...'.