在iterm2上使用GNU coreutils会禁用LSCOLORS



我在Mac OS Catalina上使用iterm2,然而,我更喜欢所有的GNU实用程序而不是FreeBSD实用程序。具体来说,FreeBSD中的cp命令缺少指定目标的-t选项,我喜欢在管道find | xargs cp -t <dest>时使用该选项。

因此,我使用brew来安装GNU核心实用程序,如本文所述:https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities

因此,我现在有了通用shell工具的GNU版本,我的ls现在使用/usr/local/opt/coreutils/libexec/gnubin/ls。缺点是我的ls颜色现在不见了。见下文:

env和命令输出

很明显,我可以通过将ls命令和/bin/ls混淆来解决这个问题,但我想知道是否有更好的方法。如何让GNUls识别我的颜色环境设置?

您需要使用dircolors来更改coreutil-ls输出。此链接提供了有关如何使用它的详细信息。https://www.gnu.org/software/coreutils/manual/html_node/dircolors-invocation.html

我遇到了同样的问题。

看起来所有GNUls需要的都是--color=auto

所以我的.zshrc中的这个别名有效-

alias ls='ls -G --color=auto'

我认为在.bashrc(未测试(中也应该如此。

最新更新