Wie kann eine Bash-Shell ausführbare Dateien in einer anderen Farbe als nicht ausführbare Dateien auflisten?
Ich habe versucht ~/.bashrc
, die folgende Zeile zu bearbeiten (ansonsten leer):
LS_OPTIONS='--color=auto'
Aber es funktioniert nicht. Was mache ich falsch? Ich arbeite unter Mac OS X.
Das Problem ist, dass OS X kein GNU hat
ls
. Während esls
das Färben von Dateinamen unterstützt, kann es dies nur nach Dateityp (Datei, Verzeichnis, Symlink, Gerätespezialdatei, FIFO, Socket ...) tun. Installieren Sie escoreutils
von Fink / MacPorts / HomeBrew und verwenden Sie es dannalias ls='gls --color=auto'
.quelle
coreutils
von MacPorts installiert . Sollte diealias
Leitung in sein~/.bashrc
? Dort habe ich es ausgedrückt, aber ich sehe keinen Unterschied.~/.bash_aliases
kann besser funktionieren. Ich fand auch, dass ich laufen mussteeval $(gdircolors -s)
, um es einzurichten.gdircolors: invalid option -- 's'
meinst du--sh
?BSD ls funktioniert etwas anders
sollte arbeiten.
Und dies ist keine Bash-Färbung, sondern
ls
die Färbung. Wenn bash eine Dateiliste erstellt (versuchen Sie esecho *
in einem Verzeichnis), gibt es keine Möglichkeit zum Kolorieren. Das Tippenls -G
würde in jeder Shell funktionieren, obwohl eine Shell (wie Bash) mit Aliasen es einfacher macht.quelle
Auf dem Mac müssen Sie verwenden
Ich habe das in das .bash_profile eingefügt. Ich bevorzuge jedoch die Lösung von Rich Homolka gegenüber dem Alias ls mit dem Flag -G. Wenn Sie die Farben anpassen möchten:
und suchen Sie nach LSCOLORS
quelle
Erwägen Sie die Installation
brew
und Verwendung der GNU-Version von ls und anderen Tools.Installieren Sie XCode aus dem AppStore.
Installieren Sie Homebrew ...
Coreutils installieren ...
Fügen Sie am Ende Ihrer
.profile
...Ich habe einen Alias
ls
in meinem.profile
, um Farben für alles zu machen und eine Verknüpfung für die vollständige Liste.Es gibt eine Reihe von
LS_COLORS
Optionen für Github .quelle
bash
ist nur eine Shell, es werden keine Dateien aufgelistet. Es führt Befehle aus, wie zls
.Die
--color
Option (und lange Optionen im Allgemeinen) ist spezifisch für die Versionls
von GNU Coreutils , die mit den meisten Linux-Distributionen geliefert wird. Auf der anderen Seite hat Mac OS X BSD-Wurzeln und verwendet die BSD-Version,ls
die keine Farbgebung unterstützt.quelle
-G
.