我尝试通过编辑.dircolors文件来更改ls命令的目录列表的颜色/属性,但它不起作用。
在此之前,值得一提的是我在bash.bashrc文件中添加了以下更改。
# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
[ -e "$HOME/.dircolors" ] && DIR_COLORS="$HOME/.dircolors"
[ -e "$DIR_COLORS" ] || DIR_COLORS=""
eval "`dircolors -b $DIR_COLORS`"
alias ls='ls --color=auto'
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi
另外,在bashrc中添加了以下代码,用于指定dircolors文件路径。
d=.dircolors
test -r $d && eval "$(dircolors $d)"
我对这些事情只是一个模糊的想法,因为我刚刚开始使用ubuntu。 那么有人可以帮我找出为什么我不能改变ls命令颜色的原因吗?
答案 0 :(得分:2)
您似乎正在进行一些测试,并且可以避免多次(不必要的)次数。这是Ubuntu框架.bashrc
文件中的标准习语:
if [ -x /usr/bin/dircolors ]; then
[ -r ~/.dircolors ] && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
fi
这会测试您的系统上dircolors
程序是否可用(以及您是否可执行)。如果是,则检查主目录中是否存在.dircolors
文件(并且是可读的)。如果是这样,它将使用您的dircolors
文件作为输入执行.dircolors
命令,并eval
使用输出(基本上只设置LS_COLORS环境变量)。如果您没有.dircolors
文件,则它会使用默认颜色执行dircolors
(并再次输出eval
uates。
完成后,您可以检查它产生的设置:
echo $LS_COLORS
您可以通过运行了解所有这些颜色的含义:
dircolors --print-database