ls игнорирует расширения при раскрашивании с помощью LS_COLORS

ls игнорирует расширения при раскрашивании с помощью LS_COLORS

Я пытаюсь настроить LS_COLORSцветной вывод ls, но по какой-то причине он игнорирует любые шаблоны соответствия файлов. Он правильно раскрашивает исполняемые файлы, каталоги и т. д., но, похоже, он полностью игнорирует любые мои шаблоны соответствия файлов, начинающиеся с *.

Я знаю, что сама строка верна, потому что я пробовал ее на другой машине, и она работает так, как и ожидалось. Я также знаю, что они не перезаписываются значениями catch-all, такими как fiи, diпотому что когда я удаляю эти части строки, LS_COLORSя просто не получаю никакого цветного вывода. Я подтвердил, что использую GNU ls, а не какую-то другую разновидность ls.

Сама строка довольно длинная, но вот ее укороченная версия, которую я создал для тестирования (она такая же, как моя настоящая LS_COLORS, я просто удалил около 200 расширений из начала строки):

*.war=38;5;215:*.wav=38;5;136;1:*.webloc=38;5;116:*.webm=38;5;115:*.webp=38;5;97:*.wma=38;5;137;1:*.wmv=38;5;114:*.woff=38;5;66:*.woff2=38;5;66:*.wrl=38;5;216:*.wv=38;5;136;1:*.wvc=38;5;136;1:*.xcconfig=1:*.xcf=38;5;7:*.xcsettings=1:*.xcuserstate=1:*.xcworkspacedata=1:*.xib=38;5;208:*.xla=38;5;76:*.xln=38;5;7:*.xls=38;5;112:*.xlsx=38;5;112:*.xlsxm=38;5;112;4:*.xltm=38;5;73;4:*.xltx=38;5;73:*.xml=38;5;178:*.xpi=38;5;215:*.xpm=38;5;97:*.xsd=38;5;178:*.xsh=38;5;41:*.yaml=38;5;178:*.yml=38;5;178:*.z[0-9]{0,2}=38;5;239:*.zcompdump=38;5;241:*.zig=38;5;81:*.zlogin=1:*.zlogout=1:*.zprofile=1:*.zsh=38;5;172:*.zshenv=1:*.zwc=38;5;241:*.zx[0-9]{0,2}=38;5;239:bd=38;5;68:ca=38;5;17:cd=38;5;113;1:di=38;5;30:do=38;5;127:ex=38;5;208;1:pi=38;5;126:fi=0:ln=target:mh=38;5;222;1:no=0:or=48;5;196;38;5;232;1:ow=38;5;220;1:sg=48;5;3;38;5;0:su=38;5;220;1;3;100;1:so=38;5;197:st=38;5;86;48;5;234:tw=48;5;235;38;5;139;3:

Есть идеи, что здесь может происходить?

решение1

(tl;dr для тех, кто с этим столкнется: дважды проверьте, что просматриваемые вами файлы не являются исполняемыми. Если это так, то им всем будет присвоен цвет раздела «ex» в $LS_COLORS вместо цвета, соответствующего их расширению.)

Оказалось, что это была ошибка оператора. Все файлы в моем тестовом каталоге были неожиданно установлены как исполняемые, и поэтому им всем был присвоен цвет, который я назначил исполняемым файлам (оранжевый). Когда я вручную удалил исполняемый бит из файлов с расширением, которое должно быть окрашено на основе содержимого $LS_COLORS, это сработало, как и ожидалось.

Связанный контент