¿Cómo hago para que ls --color = auto funcione en Mac OS X?
71
Estoy tratando de mover mi configuración bash de Ubuntu a Mac OS X y parece que ls es ligeramente diferente. Por ejemplo, no aceptará la --coloropción.
lsen realidad está separado de Bash. Mac OS X tiene una versión BSD de ls, que requiere -Gen la línea de comandos, o CLICOLOR(y tal vez LSCOLORS) en el entorno.
Tenga en cuenta que esto arrojará un prefijo gdelante de todos los comandos (por ejemplo, glspara ls). Ofrece una opción para obtener un archivo que los alias automáticamente.
No estaba seguro de si había una opción para instalarlos directamente sin tener que hacer todo el alias, así que en su lugar instalé MacPorts e hice esto .
La salida dice: Si realmente necesita usar estos comandos con sus nombres normales, puede ... ¿Por qué realmente enfatiza ? ¿Cuáles son las desventajas?
z0r
Y nunca archivó su página en archive.org y ahora su enlace en su último párrafo se ha ido
barlop
5
compatibilidad para GNU y * BSD / darwin ls
~ / .profile
#for *BSD/darwin
export CLICOLOR=1
ls --color=auto &>/dev/null && alias ls='ls --color=auto'||
~ / .bashrc (no recuerdo si bash en Linux siempre lee ~ / .profile, pero no mi zsh en ARCH)
establecer la variable de entorno CLICOLOR para los sistemas * BSD y Darwin: si está configurado ls y posiblemente otras utilidades funcionarían en color, pero GNU ls (para Linux) lo ignora. Si "ls --color = auto" no falla (estado de salida = 0), tenemos la versión GNU de ls y hacemos un alias para dibujar códigos de color en modo interactivo, si falla, entonces no necesitamos alias debido a CLICOLOR variable. "&> / dev / null" simplemente no muestra stderr y stdout si algo falla o si está bien. Funciona para mi linux y osx. (ps bash en osx y freebsd no lee .bashrc, así que póngalo en .profile. ya lo arregló).
Victor Gavro
2
Deberá instalar una versión alternativa de ls. El que generalmente se usa en Linux es del proyecto GNU coreutils .
Eso es exagerado, en mi opinión. No necesita instalar una versión separada de lscuando la misma característica es compatible de manera ligeramente diferente en la versión existente de ls.
ayaz
Buen punto. Por otra parte, el color ls nunca ha sido mi gusto. alias ls='ls -F'
Doug Harris
alias ls='ls -FG'-- ¡Es lo mejor de ambos mundos!
mipadi
1
Hago esto usando homebrew. No es excesivo si usa computadoras Mac y * nix y desea que sus terminales se vean iguales, esto le permite usar los mismos archivos de configuración en todas las computadoras. Se instala como glsy no reemplaza el original, por lo que realmente no hay inconveniente.
senderle
1
Uso este script de Perl que escribí en AIX . Es útil si está en un sistema que no es compatible --color, y también donde no tiene sudo para instalar paquetes.
Respuestas:
ls
en realidad está separado de Bash. Mac OS X tiene una versión BSD dels
, que requiere-G
en la línea de comandos, oCLICOLOR
(y tal vezLSCOLORS
) en el entorno.Ver
man ls
para más información.fuente
alias ls='ls -G'
configurado mi .bashrc en Snow Leopard.CLICOLOR=Y
dejé de trabajar en mi Mac.alias ls='ls -G'
obligaríals
a colorear. Lo defino solo para terminales interactivos.Abra la ventana de terminal y escriba:
Entonces golpeó Entery listo!
fuente
Utiliza Homebrew .
Tenga en cuenta que esto arrojará un prefijo
g
delante de todos los comandos (por ejemplo,gls
parals
). Ofrece una opción para obtener un archivo que los alias automáticamente.No estaba seguro de si había una opción para instalarlos directamente sin tener que hacer todo el alias, así que en su lugar instalé MacPorts e hice esto .
fuente
compatibilidad para GNU y * BSD / darwin ls
~ / .profile
~ / .bashrc (no recuerdo si bash en Linux siempre lee ~ / .profile, pero no mi zsh en ARCH)
fuente
Deberá instalar una versión alternativa de
ls
. El que generalmente se usa en Linux es del proyecto GNU coreutils .Puede construir e instalar o instalar desde macports , fink o homebrew .
fuente
ls
cuando la misma característica es compatible de manera ligeramente diferente en la versión existente dels
.alias ls='ls -F'
alias ls='ls -FG'
-- ¡Es lo mejor de ambos mundos!gls
y no reemplaza el original, por lo que realmente no hay inconveniente.Uso este script de Perl que escribí en AIX . Es útil si está en un sistema que no es compatible
--color
, y también donde no tiene sudo para instalar paquetes.También debería funcionar en Macintosh.
fuente