Terminal zeigt keine Farben für Verzeichniseinträge an

Ich weiß nicht, warum meine Bash-Session keine Farben zeigt. Ich habe sowohl Terminal als auch iTerm ausprobiert.

Ich habe versucht:

  1. ls -G
  2. Einstellung export CLICOLOR=1uexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. Verwenden Sie verschiedene Themen wie solarisiert und etwas anderes

Die Versionen meiner Software sind:

  1. bash: GNU bash, Version 3.2.51(1)-Release (x86_64-apple-darwin13)
  2. osx: 10.9.2

Ich habe Homebrew installiert

Ich weiß nicht, welche anderen Informationen hilfreich sein könnten. Ich verbringe viel Zeit mit der Shell, dieses Problem wird sehr nervig :)

Bearbeiten: In den Terminaleinstellungen habe ich 'Terminal deklarieren als: xterm-256color' und 'ANSI-Farben anzeigen' zusammen mit 'Helle Farben für fetten Text verwenden'

Versuchen Sie es mit . printf '\e[32mtest\n'Wenn das funktioniert, liegt ein Problem mit vor ls.
Ich habe auch dieses Problem. Um zu erweitern, was Sie versucht haben, bleibt das Problem mit dem gls-Befehl von coreutils bestehen. Der obige Kommentar ändert erfolgreich die Farbe der Eingabeaufforderung. Mein Problem scheint mit dem SolarizedDark-Design zusammenzuhängen, da das Ändern der Farbe in den Terminal.app-Einstellungen in anderen Designs funktioniert.

Antworten (2)

Ich würde vorschlagen, die GNU Core Utilities über Homebrew zu installieren, wodurch Sie die "Linux"-Version von ls(anstelle der FreeBSD-Version, die mit OS X geliefert wird) sowie andere leistungsstarke Tools erhalten

brew update
brew install coreutils

Sie sollten dann in der Lage sein, Farben anzuzeigen mit:

gls --color

Lesen Sie außerdem die Vorsichtsmaßnahmen, um Ihren PATH so zu konfigurieren, dass Sie Befehle wie glsmit ihren normalen Namen verwenden können, dh ls:

$ brew info coreutils
coreutils: stable 8.23 (bottled)
https://www.gnu.org/software/coreutils
Conflicts with: ganglia, idutils
/usr/local/Cellar/coreutils/8.23 (214 files, 10M)
  Poured from bottle
/usr/local/Cellar/coreutils/8.23_1 (214 files, 10M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/coreutils.rb
==> Dependencies
Build: xz ✔
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Es ist erwähnenswert, dass gls (GNU ls) Farbe nicht aktiviert, indem einfach die Umgebungsvariable CLICOLOR definiert wird, wie es der standardmäßige BSD-Befehl ls von OS X tut. Außerdem funktioniert der -G-Schalter zum Aktivieren von Farbe in BSD-ls nicht für GNU-ls, noch funktioniert --color für BSD-ls. Sie MÜSSEN einen Alias ​​für ls definieren, um den Schalter --color hinzuzufügen, wenn Sie möchten, dass alle Ihre ls-Befehle farbig sind. Als Referenz von "man ls" (BSD-Variante): "-G Farbige Ausgabe aktivieren. Diese Option entspricht der Definition von CLICOLOR in der Umgebung."
Mit gls --color nach der Installation von coreutils habe ich die Standardfarbe erhalten, nicht die Farben aus meiner LSCOLORS-Var. Da ich meinen Pfad standardmäßig zu den GNU-Tools mit ihren üblichen Namen geändert hatte, habe ich einfach rm gemacht which ls, um zu /bin/ls zurückzukehren, was gut funktionierte. Überraschenderweise hat dies die aktuelle Shell verärgert, die ls nicht mehr finden konnte, aber neue Shells funktionierten gut. bash hat keinen Rehash, daher verstehe ich nicht, warum es auf /usr/local/opt/coreutils/libexec/gnubin/ls aufgehängt wurde

Wählen Sie in Temrinals Terminal > Einstellungen das Profil für den von Ihnen verwendeten Sitzungstyp aus und überprüfen Sie auf der Registerkarte Erweitert, welche Terminaldeklaration Sie verwenden. Höchstwahrscheinlich unterstützt der ausgewählte keine ANSI-Färbung. xterm-256color sollte das unterstützen, was Sie erwarten.

Ich habe gerade nachgesehen, das Terminal ist bereits auf xterm-256color eingestellt (aktualisierte Frage, um diese und andere Informationen widerzuspiegeln)