Odpowiedzi:
Aby włączyć wyjście kolorów w lspoleceniu bez konieczności tworzenia aliasu lslub pobierania dodatkowego oprogramowania, dodaj następujące elementy do ~/.bash_profile:
# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
Jeśli nie lubisz tych kolorów, możesz użyć tego generatora kolorów ls, aby dostosować tę listę kolorów do własnych upodobań.
Musisz zrobić:
source ~/.bash_profile
Po wprowadzeniu jakichkolwiek zmian, aby zaczęły obowiązywać w istniejącej powłoce.
Problem polega na tym, że OS X nie ma GNU ls; chociaż lsobsługuje kolorowanie nazw plików, może to zrobić tylko według typu pliku (plik, katalog, dowiązanie symboliczne, plik specjalny urządzenia, fifo, gniazdo ...). Zainstaluj coreutilsz Fink / MacPorts / HomeBrew, a następnie użyj alias ls='gls --color=auto'.
coreutilsz MacPorts. Czy powinna aliasbyć linia ~/.bashrc? Tak to położyłem, ale nie widzę żadnej różnicy.
~/.bash_aliasesmoże działać lepiej. Odkryłem również, że muszę uruchomić, eval $(gdircolors -s)aby to skonfigurować.
gdircolors: invalid option -- 's'masz na myśli --sh?
BSD ls działa nieco inaczej
alias ls='ls -G'
powinno działać.
I to nie jest koloryzacja, tylko koloryzacja ls. Kiedy bash tworzy listę plików (spróbuj echo *w katalogu), nie ma możliwości pokolorowania. Pisanie ls -Gdziałałoby w dowolnej powłoce, chociaż ułatwia to powłoka (jak bash) z aliasami.
Zastanów się nad zainstalowaniem brewi używaniem wersji GNU ls i innych narzędzi.
Zainstaluj XCode z AppStore.
Zainstaluj Homebrew ...
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Zainstaluj coreutils ...
brew install coreutils
Dodaj do dolnej części swojego .profile...
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Alias I lsw moim .profilerobić kolory dla wszystkiego i skrót do pełnej listy.
alias ls='ls --color'
alias l='ls -lah'
# -l use a long listing format
# -a do not ignore entries starting with .
# -h with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)
Istnieje wiele LS_COLORSopcji na github .
bashjest tylko powłoką, nie wyświetla plików. Wykonuje polecenia, takie jak ls.
--colorOpcja (i długie opcji w ogóle) jest specyficzne dla wersji lsz GNU coreutils , który pochodzi z większością dystrybucji Linuksa. Z drugiej strony Mac OS X ma korzenie BSD i używa wersji BSD, lsktóra nie obsługuje kolorowania.
-G.