Wie kann ich ls --color = auto unter Mac OS X zum Laufen bringen?


Antworten:


79

lsist eigentlich von Bash getrennt. Mac OS X hat eine BSD-Version von ls, die -Gauf der Kommandozeile oder CLICOLOR(und vielleicht LSCOLORS) in der Umgebung benötigt wird.

Siehe man lsfür weitere Informationen.


5
Dito. Ich habe alias ls='ls -G'in meinem .bashrc auf Snow Leopard gesetzt.
Ayaz

Aus irgendeinem Grund CLICOLOR=Yfunktioniert mein Mac nicht mehr. alias ls='ls -G'würde zwingen ls, einzufärben. Ich definiere dies nur für interaktive Terminals.
DKroot

31

Öffnen Sie das Terminalfenster und geben Sie Folgendes ein:

alias ls='ls -G'

Dann treffen Enterund fertig!


10

Verwenden Sie Homebrew .

brew install coreutils

Beachten Sie, dass dies ein Präfix gvor alle Befehle wirft (z . B. glsfür ls). Sie haben die Möglichkeit, eine Datei zu erstellen, die diese automatisch als Alias ​​für Sie verwendet.

Ich war mir nicht sicher, ob es eine Option gab, sie direkt zu installieren, ohne das ganze Alias-Ding machen zu müssen, also stattdessen in installierten MacPorts und tat dies .


1
In der Ausgabe heißt es: Wenn Sie diese Befehle wirklich mit ihren normalen Namen verwenden müssen, können Sie ... Warum wird sie wirklich hervorgehoben ? Was sind die Nachteile?
8.

Und Sie haben Ihre Seite auf archive.org nie archiviert und jetzt ist Ihr Link in Ihrem letzten Absatz weg
Barlop

5

Kompatibilität für GNU und * BSD / darwin ls

~ / .profile

#for *BSD/darwin
export CLICOLOR=1

ls --color=auto &> /dev/null && alias ls='ls --color=auto' ||

~ / .bashrc (Ich erinnere mich nicht, ob bash unter Linux immer ~ / .profile liest, aber nicht mein zsh unter ARCH)

[[ -f $HOME/.profile ]] && source $HOME/.profile

6
Können Sie diesen Code erklären?
bwDraco

1
Das Setzen der Umgebungsvariablen CLICOLOR für * BSD- und Darwin-Systeme - wenn es gesetzt ist, funktionieren ls und möglicherweise andere Dienstprogramme farbig, aber GNU ls (für Linux) ignoriert es. Wenn "ls --color = auto" nicht fehlschlägt (Exit-Status = 0) - wir haben eine GNU-Version von ls und machen einen Alias ​​zum Zeichnen von Farbcodes im interaktiven Modus, wenn dies fehlschlägt - dann brauchen wir keinen Alias ​​wegen CLICOLOR Variable. "&> / dev / null" zeigt nur nicht stderr und stdout an, wenn etwas fehlschlägt oder wenn es in Ordnung ist. Funktioniert unter Linux und OSX. (ps bash auf osx und freebsd liest nicht .bashrc, also legen Sie es in .profile. bereits behoben).
Victor Gavro

2

Sie müssen eine alternative Version von installieren ls. Das normalerweise unter Linux verwendete stammt aus dem GNU-Coreutils- Projekt.

Sie können von Macports , Fink oder Homebrew aus bauen und installieren oder installieren .


4
Das ist meiner Meinung nach übertrieben. Sie müssen keine separate Version von installieren, lswenn dasselbe Feature in der vorhandenen Version von etwas anders unterstützt wird ls.
Ayaz

Guter Punkt. Andererseits war farbiges ls nie mein Geschmack. alias ls='ls -F'
Doug Harris

alias ls='ls -FG'- es ist das Beste aus beiden Welten!
mipadi

1
Ich mache das mit Homebrew. Es ist kein Overkill, wenn Sie sowohl Mac- als auch * nix-Computer verwenden und möchten, dass Ihre Terminals gleich aussehen. Auf diese Weise können Sie auf allen Computern die gleichen Konfigurationsdateien verwenden. Es ist installiert als glsund ersetzt nicht das Original, es gibt also wirklich keinen Nachteil.
Senderle

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.