Quando provo a stampare del testo colorato usando le sequenze di escape ANSI tramite il echocomando integrato , sembra che la \esequenza 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 echosupporta lo -eswitch poiché interpreta correttamente \nquando 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)-releasee 3.2.48(1)-releasesulla mia macchina Snow Leopard.