it-swarm-ru.tech

CLICOLOR и LS_COLORS в bash

У меня есть следующая настройка в .bashrc для раскраски листингов.

 export CLICOLOR = 1 
 export LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: делать = 01; 35: шд = 40; 33; 01: Cd = 40; 33; 01: или = 40; 31; 01: ех = 01; 32: * дегтя = 01; 31:. * TGZ = 01;. 31: * ARJ = 01; 31:. * Таз = 01; 31:. * LZH = 01; 31:.. * Индекс = 01; 31:. * г = 01; 31: * Z = 01; 31.: * .gz = 01; 31:. * BZ2 = 01; 31:.. * Deb = 01; 31: * = 01 мин; 31: * баночка = 01; 31:. * JPG = 01; 35:. *. JPEG = 01; 35: * GIF = 01; 35:. * ВМР = 01; 35:. * PBM = 01; 35:. * PGM = 01; 35:.. * ппм = 01; 35:. * TGA = 01; 35: * XBM = 01; 35:. * XPM = 01; 35:. * TIF = 01; 35:. * TIFF = 01; 35:. * PNG = 01; 35:. * мов = 01;. 35: * миль на галлон = 01; 35:. * MPEG = 01; 35:. *. AVI = 01; 35: * FLI = 01; 35:. * гл = 01; 35:. * дл = 01; 35.: * .xcf = 01; 35: * XWD = 01; 35:. * = 01 OGG; 35:.. * mp3 = 01; 35: * = 01 WAV; 35:. '; 

Этот сайт показывает код для цветов, и я хочу изменить цвет каталога на "светлый цвет". Но выполнение di следующим образом не влияет на это.

ди = 04; 94

Интересно, что даже после того, как я закомментировал LS_COLORS, я могу видеть цветной вывод, пока у меня CLICOLOR = 1.

  • Что я должен сделать, чтобы цвет каталога стал Голубым (94)?
  • Что это за CLICOLOR и LS_COLORS? Почему раскраска работает без LS_COLORS?
51
prosseek

Существует несколько различных реализаций цвета для ls, и вы объединяете некоторые из них.

  • On FreeBSD и Mac OS X , ls показывает цвета, если установлена ​​переменная окружения CLICOLOR или если -G передается в командной строке. Фактические цвета настраиваются через переменную окружения LSCOLORS (встроенные значения по умолчанию используются, если эта переменная не установлена). Чтобы показать каталоги светло-голубым, используйте

    export LSCOLORS=Exfxcxdxbxegedabagacad
    
  • С GNU ls , например в Linux ls показывает цвета, если --color передается в командной строке. Фактические цвета настраиваются через LS_COLORS переменная окружения, которую можно установить с помощью команды dircolors (встроенные значения по умолчанию используются, если эта переменная не задана).

54

Что это за CLICOLOR и LS_COLORS? Почему раскраска работает без LS_COLORS?

CLICOLOR включает или выключает цвета. LS_COLORS не требуется, и позволит вам настроить цвета.

Обратите внимание, что в некоторых операционных системах (например, MacOSX и FreeBSD) значение называется LSCOLORS, а не LS_COLORS.

Я избегаю устанавливать цвет с помощью LS_COLORS, потому что тогда мне нужно применить ту же цветовую схему на сотне разных компьютеров и 10 разных Un * xes. Вместо этого я изменяю цвет в моей терминальной программе, которая работает одинаково на большинстве хостов Unix.

11
Stefan Lasiewski

Если вам нужен скрипт-обёртка для ls, который работает во всех системах, абстрагируясь от этих различий в цвете и т.д., Смотрите: http://www.pixelbeat.org/scripts/l

4
Pádraig Brady