Cores faltando ao chamar o grep pelo script

4

Aqui está um simples wrapper para o grep para procurar em um repositório Git. Por alguma razão, as cores desaparecem quando o grep é chamado através de um script bash. Como faço para corrigir isso?

Eu estava usando este comando

grep  . -R --exclude-dir=.git --line-number
    
por ArekBulski 04.09.2016 / 12:41

1 resposta

10

Quando você executa grep em um terminal, ele mostra cores por causa desse alias padrão no seu ~/.bashrc

alias grep='grep --color=auto'

~/.bashrc é fornecido apenas por shells interativos. Quando você executa um script, ele é executado em um shell não interativo, portanto, o alias não está disponível.

Para preservar a cor, adicione o sinalizador --color=auto ao comando grep dentro do script:

grep  . -R --exclude-dir=.git --line-number --color=auto
    
por Zanna 04.09.2016 / 12:46