Concha de cores Bash no Mac?

7

Como você pode criar arquivos executáveis de uma lista de shell bash em cores diferentes de arquivos não-executáveis?

Eu tentei editar ~/.bashrc para conter a seguinte linha (se estiver vazia):

 LS_OPTIONS='--color=auto'

Mas não está funcionando. O que estou fazendo de errado? Estou trabalhando no Mac OS X.

    
por AP257 21.03.2011 / 22:26

6 respostas

7

Para ativar a saída de cores do comando ls sem precisar criar um alias para ls ou baixar qualquer software adicional, adicione o seguinte ao seu ~/.bash_profile :

# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

Se você não gosta dessas cores, você pode usar este gerador de cores ls para personalizar essa lista de cores ao seu gosto.

Você precisará fazer:

source ~/.bash_profile

Depois de fazer qualquer alteração para que eles entrem em vigor no seu shell existente.

    
por 29.03.2011 / 04:59
6

No Mac, você precisa usar

export CLICOLOR=1

Eu coloquei isso no .bash_profile. No entanto, eu prefiro a solução de Rich Homolka para alias ls com a flag -G. Se você quiser personalizar as cores:

man ls

e procure por LSCOLORS

    
por 28.03.2011 / 21:05
6

BSD funciona um pouco diferente

alias ls='ls -G'

deve funcionar.

E isso não é coloração bash, é ls fazendo a colorização. Quando o bash faz uma lista de arquivos (tente echo * em um diretório), não há como colorir. Digitar ls -G funcionaria em qualquer shell, embora um shell (como o bash) com aliases seja mais fácil.

    
por 21.03.2011 / 23:11
5

O problema é que o OS X não possui o GNU ls ; enquanto seu ls suporta coloração do nome do arquivo, ele só pode fazer isso pelo tipo de arquivo (arquivo, diretório, link simbólico, arquivo especial do dispositivo, fifo, soquete ...). Instale coreutils do Fink / MacPorts / HomeBrew e use alias ls='gls --color=auto' .

    
por 21.03.2011 / 22:29
0

Considere instalar brew e usar a versão GNU de ls e outras ferramentas.

Instale o XCode na AppStore.

Instale o Homebrew ...

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Instale os coreutils ...

brew install coreutils

Adicione ao final do seu .profile ...

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

Eu alias ls no meu .profile para fazer cores para tudo e um atalho para a lista completa.

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)

Há um monte de opções de LS_COLORS no github .

    
por 03.08.2016 / 19:59
-1

bash é apenas um shell, ele não lista arquivos. Executa comandos, como ls .

A opção --color (e as opções longas em geral) é específica para a versão de ls do GNU coreutils , que vem com a maioria das distribuições Linux. Por outro lado, o Mac OS X tem raízes BSD e usa a versão BSD de ls , que não suporta coloração.

    
por 21.03.2011 / 22:30