Mogło się dziać coś innego. lsnie powinien używać kolorów, chyba że wydaje się, że jest to połączone z czymś interaktywnym. Nie powinno to koloryzować rzeczy podczas łączenia z innym programem.
Alias jest ogólnie złym pomysłem, ponieważ nigdy nie możesz pozbyć się tej opcji i przyzwyczajasz się do osobistych ustawień, których możesz nie być w stanie przenieść ze sobą na inną maszynę, nad którą musisz pracować. Jeśli chcesz go wyłączyć, aby połączyć go z czymś innym, użyj przełącznika w tej rurze. Ale kolory nie powinny być w rurze.
Sprawdź ls, czy Twoja obsługuje LS_COLORSzmienną środowiskową. Trapd00r / LS_COLORS pokazuje prace jak THT. dircolors pozwala na drobną regulację kolorów w zależności od rodzaju pliku. Jeśli nie ustawisz, LS_COLORSale masz włączone kolorowanie, lswykona kilka wywołań systemowych, aby dowiedzieć się, jakie są typy plików i atrybuty, aby mógł dowiedzieć się, co należy pokolorować. Ludzie stojący za Sherlockiem odkryli, że ustawienie LS_COLORSmoże tego uniknąć i daje 40-krotną poprawę prędkości . Przeczytaj ich krwawe szczegóły, aby zobaczyć, co znaleźli.
Sprawiam, że wszystkie typy plików używają domyślnych kolorów:
$ 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:'
Oto plik LS_COLORS, który podałem dircolorsom:
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
Sprawdź grep, czy twoje obsługuje GREP_COLORSlub GREP_OPTIONS.
lsigreppodczas potokowania nie musisz nic robić, ponieważ--color=autojuż wyłącza kolorowanie, gdy jego wyjściem jest potok lub właściwie tty; to właśnie oznacza „auto”. Podobnie FreeBSDls -Glub „CLICOLOR” jest „wyłączone”, jeśli dane wyjściowe nie są kierowane do terminala, chyba że ... CLICOLOR_FORCE ... ”.