Faltam cores ao chamar grep por meio de script

Faltam cores ao chamar grep por meio de script

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

insira a descrição da imagem aqui

eu estava usando esse comando

grep $1 . -R --exclude-dir=.git --line-number

Responder1

Quando você executa grepem 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 fica disponível.

Para preservar a coloração, adicione a --color=autobandeira ao grepcomando dentro do script:

grep $1 . -R --exclude-dir=.git --line-number --color=auto

informação relacionada