更改 bash 输出中的目录颜色

更改 bash 输出中的目录颜色

在 Mac OSX 下,我试图ls在 bash shell 中输出时更改目录颜色。所以我将这一行放在文件末尾.bashrc并重新加载。

LS_COLORS=$LS_COLORS:'di=0;32:' ; export LS_COLORS
. ~/.bashrcc

的输出echo "$LS_COLORS":di=0;35::di=0;35::di=0;32:

但我没有得到我期待的浅绿色。谢谢

在此输入图像描述

答案1

  1. Mac 使用 BSD lsman ls详情请参阅。
  2. 的格式LS_COLORS不同。

    具体参见LESS='+/^[[:space:]]*LSCOLORS' man ls

  3. 变量名称甚至不是LS_COLORS,而是LSCOLORS.

我发现对解决这个问题最有帮助的链接是这篇博文, 和本文这是从博客文章链接到的。

LSCOLORS的默认值为exfxcxdxbxegedabagacad。要将除目录之外的所有内容保留其默认颜色,并将其设置为绿色而不是蓝色,请将以下内容放入您的~/.bash_profile

export LSCOLORS=cxfxcxdxbxegedabagacad

您还需要将CLICOLOR变量(使用export CLICOLOR=)或别名设置lsls -G。但在上面的屏幕截图中,您确实有颜色输出,所以我假设您已经完成了其中之一。


原答案:

在 Mac OS 上,ls可以-G选择对输出进行着色。

man lsMac 上:

 -G      Enable colorized output.  This option is equivalent to defining
         CLICOLOR in the environment.  (See below.)

运行ls -G你会得到彩色输出。


我还建议添加:

alias ls='ls -GF'

给你的~/.bash_profile.这是我在那里的别名。该-F选项添加/目录名称之后、*可执行文件之后等。

相关内容