Как вы можете сделать список исполняемых файлов оболочки Bash другого цвета, чем неисполняемые файлы?
Я попытался изменить, ~/.bashrc
чтобы содержать следующую строку (в противном случае она пуста):
LS_OPTIONS='--color=auto'
Но это не работает. Что я делаю неправильно? Я работаю на Mac OS X.
Проблема в том, что OS X не имеет GNU
ls
; хотяls
он поддерживает раскраску имени файла, он может делать это только по типу файла (файл, каталог, символическая ссылка, специальный файл устройства, fifo, socket ...). Установитеcoreutils
из Fink / MacPorts / HomeBrew, затем используйтеalias ls='gls --color=auto'
.источник
coreutils
из MacPorts. Еслиalias
линия находится в~/.bashrc
? Вот где я это сказал, но я не вижу никакой разницы.~/.bash_aliases
может работать лучше Я также обнаружил, что мне нужно бежать,eval $(gdircolors -s)
чтобы настроить его.gdircolors: invalid option -- 's'
ты имеешь ввиду--sh
?BSD ls работает немного по-другому
должно сработать.
И это не окраска bash, это
ls
раскрашивание. Когда Bash делает список файлов (попробуйтеecho *
в каталоге), нет возможности раскрасить. Набор текстаls -G
будет работать в любой оболочке, хотя оболочка (например, bash), имеющая псевдонимы, делает это проще.источник
На Mac вам нужно использовать
Я положил это в .bash_profile. Однако я предпочитаю решение Rich Homolka псевдониму ls с флагом -G. Если вы хотите настроить цвета:
и искать LSCOLORS
источник
Подумайте об установке
brew
и использовании GNU-версии ls и других инструментов.Установите XCode из AppStore.
Установить Homebrew ...
Установить coreutils ...
Добавьте в конец вашего
.profile
...Псевдоним я
ls
в моем.profile
сделать цвета для всех и ярлык для полного списка.На github есть несколько
LS_COLORS
вариантов .источник
bash
это только оболочка, она не перечисляет файлы. Он выполняет команды, такие какls
.--color
Вариант (и длинные варианты в целом) является специфичным для версииls
от GNU Coreutils , который поставляется с большинством дистрибутивов Linux. С другой стороны, Mac OS X имеет корни BSD и использует версию BSD,ls
которая не поддерживает раскрашивание.источник
-G
.