Quando provo a stampare del testo colorato usando le sequenze di escape ANSI tramite il echo
comando integrato , sembra che la \e
sequenza di escape nella stringa che fornisco sia interpretata letteralmente invece che come "escape" che dovrebbe rappresentare. Questo succede solo in Snow Leopard: gli esempi seguenti funzionano come previsto in Leopard.
Apparentemente echo
supporta lo -e
switch poiché interpreta correttamente \n
quando lo si utilizza:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Ma quando provo ad usare \e
, ottengo questo:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Come ho detto, in Leopard, quanto sopra mi darebbe la stringa "COLORI" di colore.
Qualcuno sa un motivo per cui questo potrebbe essere un cambiamento previsto? Che ne dici di una soluzione alternativa per stampare sequenze di escape ANSI dagli script Bash su Snow Leopard?
La versione della shell Bash sulla mia macchina Leopard è 3.2.17(1)-release
e 3.2.48(1)-release
sulla mia macchina Snow Leopard.