scripts script resueltos programas pasar parametros operaciones manejo ejercicios ejemplos comando cadenas aritmeticas bash colors grep

resueltos - ¿Por qué grep pierde color de salida cuando se ejecuta desde un script bash?



scripts bash ejemplos (2)

Posible duplicado:
grep pierde coloración cuando se ejecuta desde script bash

Tengo un script bash simple para imprimir un encabezado en la parte superior de mis resultados grep :

#!/bin/bash for var in "$@" do if [[ $var != -* ]]; then break fi done echo echo -en "/e[1;31m ====== GREP $var ======/e[0m/n" echo grep $@

Pero el comando final de alguna manera no es lo mismo que ejecutar grep directamente desde el indicador, porque los colores no aparecen en los resultados. Al ejecutar grep directamente, los resultados muestran los nombres de archivo en morado y los partidos en rojo, pero ahora todo el resultado es el color de texto del terminal normal. ¿Puede alguien decirme cómo obtener la versión en color de mi script?


Grep tiene 3 modos de color, Auto, Siempre y Apagado.

Auto elimina los códigos cuando está conectado a una salida no interactiva, como una tubería (si quiere ver por qué, intente redirigir la salida de grep --color=always en un archivo y luego mire el archivo ... códigos de control en todos lados)


Parece que grep no produce colores cuando no está en modo interactivo. Puede obligarlo a producir resultados coloreados:

grep --color=always $@