Como faço para que ls --color = auto trabalhe no Mac OS X?
71
Estou tentando mover minha configuração do bash do Ubuntu para o Mac OS X e parece que o ls é um pouco diferente. Por exemplo, ele não aceita a --coloropção.
Observe que isso lançará um prefixo gna frente de todos os comandos (por exemplo, glspara ls). Ele oferece a opção de obter um arquivo que os alias automaticamente para você.
Eu não tinha certeza se havia uma opção para instalá-los diretamente, sem ter que fazer todo o alias, então instalei o MacPorts e fiz isso .
A saída diz: Se você realmente precisa usar esses comandos com seus nomes normais, pode ... Por que isso realmente enfatiza ? Quais são as desvantagens?
Z0r 8/11
E você nunca arquivou sua página no archive.org e agora seu link no último parágrafo se foi
barlop 04/04
5
compatibilidade para GNU e * BSD / darwin ls
~ / .profile
#for *BSD/darwin
export CLICOLOR=1
ls --color=auto &>/dev/null && alias ls='ls --color=auto'||
~ / .bashrc (não me lembro se o bash no Linux sempre lê ~ / .profile, mas não o meu zsh no ARCH)
configurando a variável de ambiente CLICOLOR para os sistemas * BSD e Darwin - se estiver definido ls e possivelmente outros utilitários funcionarem em cores, mas o GNU ls (para Linux) a ignora. Se "ls --color = auto" não falhar (status de saída = 0) - temos a versão GNU de ls e criamos um alias para desenhar códigos de cores no modo interativo, se falhar - então não precisamos do alias por causa do CLICOLOR variável. "&> / dev / null" simplesmente não mostra stderr e stdout se algo falhar ou se estiver ok. Funciona para o meu linux e osx. (ps bash no osx e freebsd não lê .bashrc, coloque-o no .profile. já o corrigiu).
Victor Gavro
2
Você precisará instalar uma versão alternativa do ls. O normalmente usado no linux é do projeto GNU coreutils .
Você pode criar e instalar ou instalar a partir de macports , fink ou homebrew .
Isso é um exagero, na minha opinião. Você não precisa instalar uma versão separada de lsquando o mesmo recurso é suportado de maneira um pouco diferente na versão existente do ls.
Ayaz
Bom ponto. Então, novamente, sl colorido nunca foi do meu gosto. alias ls='ls -F'
Doug Harris
alias ls='ls -FG'- é o melhor dos dois mundos!
Mipadi
11
Eu faço isso usando homebrew. Não é um exagero se você usa computadores Mac e * nix e deseja que seus terminais tenham a mesma aparência - isso permite que você use os mesmos arquivos de configuração em todos os computadores. Ele é instalado como glse não substitui o original, então não há realmente nenhuma desvantagem.
senderle
1
Eu uso esse script Perl que escrevi no AIX . É útil se você estiver em um sistema que não suporta --color, e também onde você não tem o sudo para instalar pacotes.
Respostas:
ls
é realmente separado do Bash. O Mac OS X possui uma versão BSD dels
, que requer-G
na linha de comando ouCLICOLOR
(e talvezLSCOLORS
) no ambiente.Veja
man ls
para mais informações.fonte
alias ls='ls -G'
no meu .bashrc no Snow Leopard.CLICOLOR=Y
parei de trabalhar no meu Mac.alias ls='ls -G'
forçarials
a colorir. Eu defino isso apenas para terminais interativos.Abra a janela do terminal e digite:
Então bateu Entere pronto!
fonte
Use Homebrew .
Observe que isso lançará um prefixo
g
na frente de todos os comandos (por exemplo,gls
parals
). Ele oferece a opção de obter um arquivo que os alias automaticamente para você.Eu não tinha certeza se havia uma opção para instalá-los diretamente, sem ter que fazer todo o alias, então instalei o MacPorts e fiz isso .
fonte
compatibilidade para GNU e * BSD / darwin ls
~ / .profile
~ / .bashrc (não me lembro se o bash no Linux sempre lê ~ / .profile, mas não o meu zsh no ARCH)
fonte
Você precisará instalar uma versão alternativa do
ls
. O normalmente usado no linux é do projeto GNU coreutils .Você pode criar e instalar ou instalar a partir de macports , fink ou homebrew .
fonte
ls
quando o mesmo recurso é suportado de maneira um pouco diferente na versão existente dols
.alias ls='ls -F'
alias ls='ls -FG'
- é o melhor dos dois mundos!gls
e não substitui o original, então não há realmente nenhuma desvantagem.Eu uso esse script Perl que escrevi no AIX . É útil se você estiver em um sistema que não suporta
--color
, e também onde você não tem o sudo para instalar pacotes.Também deve funcionar no Macintosh.
fonte