Quando tento imprimir algum texto colorido usando sequências de escape ANSI por meio do echo
comando interno, parece que a \e
sequência de escape na string que forneço é interpretada literalmente em vez de como a "fuga" que deveria representar. Isso acontece apenas no Snow Leopard - os exemplos abaixo funcionam como pretendido no Leopard.
Aparentemente echo
, suporta o -e
switch, pois ele interpreta corretamente \n
ao usá-lo:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Mas quando tento usar \e
, recebo o seguinte:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Como eu disse, no Leopard, o texto acima me daria a sequência "COLORS" em cores.
Alguém sabe de uma razão para que isso possa ser uma mudança pretendida? Que tal uma solução alternativa para imprimir seqüências de escape ANSI de scripts Bash no Snow Leopard?
A versão do shell Bash na minha máquina Leopard é 3.2.17(1)-release
e 3.2.48(1)-release
na minha máquina Snow Leopard.