![谁在设置我的 LS_COLORS?](https://linux22.com/image/161356/%E8%B0%81%E5%9C%A8%E8%AE%BE%E7%BD%AE%E6%88%91%E7%9A%84%20LS_COLORS%EF%BC%9F.png)
我正在使用bash
shell,并且想要更改一些ls
列表颜色;我注意到了这可以使用LS_COLORS
环境变量来控制,它对各种文件和目录类型和状态的终端颜色进行编码。
现在我有 LS_COLORS
在我的环境中设置,但我不记得/不知道到底是谁设置的!我在我的、等中找不到任何或什至没有export LS_COLORS
提及。LS_COLORS
.bashrc
.bash_login
那么它设置在哪里呢?
注意:我使用的是基于 Debian 的发行版
答案1
该LS_COLORS
变量可能是使用 GNU 设置的dircolors
命令- 所以环境变量名不直接使用。您在类似 Debian 的系统上会发现的典型.bashrc
片段是:
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
fi
所以,这就是您想要做的:
- 如果
~/.dircolors
不存在,则使用创建它dircolors -p > ~/.dircolors
~/.dircolors
使用您最喜欢的文本编辑器进行编辑- 这是另一个类似人的页面解释如何编辑
dircolors
数据库而不是 LS_COLORS 变量
现在,每当您启动新的 shell 时,您都应该获得您想要的颜色。