2014-01-09 84 views
0

我嘗試通過編輯.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命令的顏色的原因嗎?

回答

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)。通過運行

echo $LS_COLORS 

你可以閱讀更多的關於什麼所有這些顏色的含義:

當它這樣做,你可以檢查它產生的設置

dircolors --print-database