Wie kann ich ls --color = auto unter Mac OS X zum Laufen bringen?
71
Ich versuche, meine Bash-Konfiguration von Ubuntu auf Mac OS X zu verschieben, und es sieht so aus, als wäre ls etwas anders. Zum Beispiel wird die --colorOption nicht akzeptiert .
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.
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:
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 .
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)
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 .
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
1
Ich verwende dieses Perl-Skript, das ich unter AIX geschrieben habe . Dies ist nützlich, wenn Sie sich auf einem System befinden, das keine Unterstützung --colorbietet, und wenn Sie kein sudo zum Installieren von Paketen haben.
Antworten:
ls
ist eigentlich von Bash getrennt. Mac OS X hat eine BSD-Version vonls
, die-G
auf der Kommandozeile oderCLICOLOR
(und vielleichtLSCOLORS
) in der Umgebung benötigt wird.Siehe
man ls
für weitere Informationen.quelle
alias ls='ls -G'
in meinem .bashrc auf Snow Leopard gesetzt.CLICOLOR=Y
funktioniert mein Mac nicht mehr.alias ls='ls -G'
würde zwingenls
, einzufärben. Ich definiere dies nur für interaktive Terminals.Öffnen Sie das Terminalfenster und geben Sie Folgendes ein:
Dann treffen Enterund fertig!
quelle
Verwenden Sie Homebrew .
Beachten Sie, dass dies ein Präfix
g
vor alle Befehle wirft (z . B.gls
fürls
). 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 .
quelle
Kompatibilität für GNU und * BSD / darwin ls
~ / .profile
~ / .bashrc (Ich erinnere mich nicht, ob bash unter Linux immer ~ / .profile liest, aber nicht mein zsh unter ARCH)
quelle
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 .
quelle
ls
wenn dasselbe Feature in der vorhandenen Version von etwas anders unterstützt wirdls
.alias ls='ls -F'
alias ls='ls -FG'
- es ist das Beste aus beiden Welten!gls
und ersetzt nicht das Original, es gibt also wirklich keinen Nachteil.Ich verwende dieses Perl-Skript, das ich unter AIX geschrieben habe . Dies ist nützlich, wenn Sie sich auf einem System befinden, das keine Unterstützung
--color
bietet, und wenn Sie kein sudo zum Installieren von Paketen haben.Sollte auch auf Macintosh funktionieren.
quelle