Faltan colores al llamar a grep mediante script

Faltan colores al llamar a grep mediante script

Aquí hay un contenedor simple para grep para buscar en un repositorio de Git. Por alguna razón, los colores desaparecen cuando se llama a grep a través de un script bash. ¿Cómo lo soluciono?

ingrese la descripción de la imagen aquí

Estaba usando este comando

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

Respuesta1

Cuando ejecuta grepen una terminal, muestra colores debido a este alias predeterminado en su~/.bashrc

alias grep='grep --color=auto'

~/.bashrcsolo proviene de shells interactivos. Cuando ejecuta un script, se ejecuta en un shell no interactivo, por lo que el alias no está disponible.

Para conservar el color, agregue la --color=autobandera al grepcomando dentro del script:

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

información relacionada