2009-04-27 28 views
1

我發現,你可以有grep的下面中的.bashrc無法把顏色LS通過LS_OPTIONS

# puts colors for all grep commands 
export GREP_OPTIONS='--color=auto' 

我沒能獲得類似的命令LS_OPTIONS工作。

除了下面給你的ls命令提供顏色以外,還有其他方法嗎?

alias ls='ls -Gh' 
+0

現在我想起了這個,這真的不是編程問題嗎? – Elijah 2009-04-27 14:17:04

+0

Debian Squeeze中的My ** ls **也忽略了** GREP_OPTIONS **。要解決我在Bash中定義別名:** alias ls ='ls --color'** – gavenkoa 2012-02-14 22:20:36

回答

1

下面是一個完整的解決方案:

# BSD ls 
export LSCOLOR='exfxcxdxbxegedabagacad' 
# GNU ls and others (for example, tree) 
export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:' 

if [ "$(uname -s)" = 'Linux' ]; then 
    # GNU ls 
    alias ls='ls --color=auto' 
else 
    # Assume BSD ls 
    alias ls='ls -G' 
fi 
1

對於顏色LS工作,你必須做到以下幾點:

alias ls='ls -G' 
export CLICOLOR=1 
export LSCOLORS=ExFxCxDxBxegedabagacad 
export TERM=xterm-color 
+1

這隻適用於ls的BSD版本,您可以在Mac上找到它。在大多數Linux系統上,-G選項意味着其他的東西,ls支持--color。 – 2013-11-23 22:30:05

1

正如其他人所說,有明確的選項混淆ls完成你想要什麼。但是,如果你是在實際使用環境變量LS_OPTIONS特別敏銳,好了,你還需要一個別名:alias ls='ls $LS_OPTIONS '

您需要將LS_OPTIONS爲ls的有效命令行選項的字符串。在命令行上運行ls --helpman ls以查看可用的選項。在我的Linux系統(openSuSE 42.2)上,使用GNU ls v8.25,您將通過添加選項--color=auto來獲得彩色輸出。

所以,你會把你的〜/ .profile文件下面或〜/ .bashrc文件:

export LS_OPTIONS="--color=auto" 
alias ls="ls $LS_OPTIONS " 

要添加附加選項,環境變量或別名,只需添加它們(用空格隔開)在雙引號內。