Cuando intento imprimir un texto en color usando secuencias de escape ANSI a través del echo
comando incorporado , parece que la \e
secuencia de escape en la cadena que proporciono se interpreta literalmente en lugar de como el "escape" que se supone que representa. Esto solo sucede en Snow Leopard: los ejemplos a continuación funcionan según lo previsto en Leopard.
Aparentemente echo
es compatible con el -e
interruptor, ya que se interpreta correctamente \n
al usarlo:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Pero cuando trato de usar \e
, obtengo esto:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Como dije, en Leopard, lo anterior me daría el hilo "COLORES" en color.
¿Alguien sabe de una razón por la que esto podría ser un cambio previsto? ¿Qué tal una solución alternativa para imprimir secuencias de escape ANSI de scripts Bash en Snow Leopard?
La versión de shell Bash en mi máquina Leopard es 3.2.17(1)-release
y 3.2.48(1)-release
en mi máquina Snow Leopard.