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