Можливо, щось ще відбувається. lsне повинен використовувати кольори, якщо він не вважає, що він підключений до чогось інтерактивного. Він не повинен забарвлювати речі, коли ви передаєте іншу програму.
Псевдонім, як правило, погана ідея, тому що ви ніколи не зможете позбутися цього варіанту, і ви звикнете до особистих налаштувань, які ви, можливо, не зможете взяти з собою до іншої машини, над якою вам доведеться працювати. Якщо вам потрібно вимкнути його, щоб передати його на щось інше, використовуйте перемикач у цій трубі. Але кольорів не повинно бути в трубі.
Бо lsдивіться, чи підтримує ваша LS_COLORSзмінна середовище. У trapd00r / LS_COLORS показує, як працює. THT dircolors дозволяє вам налаштувати кольори щоденно та відповідно до типу файлу. Якщо ви не встановили, LS_COLORSале забарвлення увімкнено, lsзробить купу системних дзвінків, щоб визначити типи файлів та атрибути, щоб він міг розібратися в те, що потрібно забарвити. Люди, що стояли за Шерлоком, виявили, що налаштування LS_COLORSможе уникнути всього цього та покращити швидкість у 40 разів . Прочитайте їхні деталі, щоб побачити, що вони знайшли.
Я змушую всі типи файлів використовувати кольори за замовчуванням:
$ 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:'
Ось файл LS_COLORS, який я подав у кольори кольорів:
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
Для grepсм , якщо у вас підтримує GREP_COLORSабо GREP_OPTIONS.
lsіgrepпід час трубопроводу вам нічого не потрібно робити, тому що--color=autoвже вимикає забарвлення, коли на виході є труба, або насправді нічого, крім tty; ось що означає "авто". Так само FreeBSDls -Gабо "CLICOLOR" відключено, якщо вихід не спрямований до терміналу, якщо ... CLICOLOR_FORCE ... ".