Mit LS_OPTIONS können keine Farben für LS eingegeben werden
Frage
Ich habe herausgefunden, dass Sie Folgendes für Grep in .bashrc haben können
# puts colors for all grep commands
export GREP_OPTIONS='--color=auto'
Es ist mir nicht gelungen, den ähnlichen Befehl für LS_OPTIONS zum Laufen zu bringen.
Gibt es eine andere Möglichkeit als die folgende, Farben für Ihren ls-Befehl anzugeben?
alias ls='ls -Gh'
Lösung
Hier ist eine vollständige Lösung:
# 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
Andere Tipps
Damit LS mit Farben funktioniert, müssen Sie Folgendes tun:
alias ls='ls -G'
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
export TERM=xterm-color
Wie andere bereits gesagt haben, Aliasing ls
mit expliziten Optionen erreicht das, was Sie wollen.Wenn Sie jedoch besonders daran interessiert sind, die Umgebungsvariable LS_OPTIONS tatsächlich zu verwenden, benötigen Sie dennoch einen Alias: alias ls='ls $LS_OPTIONS '
Sie würden LS_OPTIONS auf eine beliebige Zeichenfolge gültiger Befehlszeilenoptionen für setzen ls
.Laufen ls --help
oder man ls
in der Befehlszeile, um zu sehen, welche Optionen verfügbar sind.Auf meinem Linux-System (openSuSE 42.2), mit GNU ls
v8.25 erhalten Sie eine farbige Ausgabe, wenn Sie die Option hinzufügen --color=auto
.
Sie würden also Folgendes in Ihre ~/.profile- oder ~/.bashrc-Datei einfügen:
export LS_OPTIONS="--color=auto"
alias ls="ls $LS_OPTIONS "
Um der Umgebungsvariablen oder dem Alias weitere Optionen hinzuzufügen, fügen Sie diese einfach (durch Leerzeichen getrennt) in doppelte Anführungszeichen ein.