Devam eden başka bir şey olabilir. ls
etkileşimli bir şeye bağlı olduğunu düşünmediği sürece renkleri kullanmamalı. Başka bir programa aktarırken bazı şeyleri renklendirmemelidir.
Takma ad genellikle kötü bir fikirdir, çünkü bu seçenekten asla kurtulmazsınız ve üzerinde çalışmanız gereken başka bir makineye taşıyamayabileceğiniz kişisel ayarlara alışırsınız. Başka birşeye borulamak için kapatmanız gerekirse, o borudaki düğmeyi kullanın. Ancak renkler bir boruda olmamalıdır.
Örneğin ls
, sizin LS_COLORS
ortam değişkenini destekleyip desteklemediğine bakın . Trapd00r / LS_COLORS size nasıl tht işleri gösterir. dircolor renkleri kolayca ve her dosya türü için ayarlamanıza olanak sağlar. Ayarlamazsanız LS_COLORS
ancak renklendirmeyi açmışsanız ls
, dosya türlerini ve niteliklerini bulmak için bir sürü sistem çağrısı yapar, böylece renklerin ne renkleneceğini bulur. Sherlock'un arkasındaki insanlar, ortamın LS_COLORS
tüm bunlardan kaçınabileceğini ve hızda 40x iyileştirme sağlayabileceğini buldu . Ne bulduğunu görmek için kanlı ayrıntılarını okuyun.
Tüm dosya türlerinin varsayılan renkleri kullanmasını sağlarım:
$ 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:'
İşte dircolors beslediğim LS_COLORS dosyası:
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
Çünkü grep
, sizinki GREP_COLORS
veya destekleyip desteklemediğini kontrol edin GREP_OPTIONS
.
ls
vegrep
boru tesislerinde herhangi bir şey yapmanıza gerek yok çünkü--color=auto
çıktı bir boru olduğunda renklendirmeyi kapatıyor veya aslında bir tty'den başka bir şey yok; 'otomatik' bunun anlamı. Benzer şekilde, FreeBSDls -G
veya 'CLICOLOR', eğer… CLICOLOR_FORCE ... 'dışında bir terminale yönlendirilmezse' devre dışı bırakılır.