Odpowiedzi:
Aby włączyć wyjście kolorów w ls
poleceniu bez konieczności tworzenia aliasu ls
lub 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ż ls
obsł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 coreutils
z Fink / MacPorts / HomeBrew, a następnie użyj alias ls='gls --color=auto'
.
coreutils
z MacPorts. Czy powinna alias
być linia ~/.bashrc
? Tak to położyłem, ale nie widzę żadnej różnicy.
~/.bash_aliases
moż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 -G
działałoby w dowolnej powłoce, chociaż ułatwia to powłoka (jak bash) z aliasami.
Zastanów się nad zainstalowaniem brew
i 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 ls
w moim .profile
robić 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_COLORS
opcji na github .
bash
jest tylko powłoką, nie wyświetla plików. Wykonuje polecenia, takie jak ls
.
--color
Opcja (i długie opcji w ogóle) jest specyficzne dla wersji ls
z 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, ls
która nie obsługuje kolorowania.
-G
.