Использование GNU coreutils на iterm2 отключает LSCOLORS
Я использую iterm2 на Mac OS Catalina, однако я предпочитаю все утилиты GNU, а не FreeBSD. В частности,
cp
команде FreeBSD не хватает
-t
возможность указать цель, которую я люблю использовать при конвейерной обработке
find | xargs cp -t <dest>
.
Поэтому я использовал brew для установки основных утилит GNU, как описано в этом посте: https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core- утилиты
Итак, теперь у меня есть GNU-версии общих инструментов оболочки, теперь я использую
/usr/local/opt/coreutils/libexec/gnubin/ls
. Недостатком является то, что мои цвета теперь исчезли. Смотри ниже:
Очевидно, я могу обойти это, назвав мою команду псевдонимом
/bin/ls
но мне интересно, есть ли лучший способ. Как я могу получить GNU
ls
распознавать мои настройки среды для цветов?
2 ответа
У меня была такая же проблема.
Похоже на все GNUls
нужно было--color=auto
Так что этот псевдоним в моем.zshrc
работал -
alias ls='ls -G --color=auto'
Я предполагаю, что то же самое должно работать в.bashrc
(не испытано).
Вам нужно использовать dircolors для изменения вывода coreutils. По этой ссылке есть подробная информация о том, как его использовать. https://www.gnu.org/software/coreutils/manual/html_node/dircolors-invocation.html