Lorsque j'essaie d'imprimer du texte coloré à l'aide de séquences d'échappement ANSI via la echo
commande intégrée , il semble que la \e
séquence d'échappement de la chaîne que je fournis soit interprétée littéralement et non comme le "échap" qu'il est censé représenter. Cela ne se produit que dans Snow Leopard - les exemples ci-dessous fonctionnent comme prévu dans Leopard.
Apparemment, echo
prend en charge le -e
commutateur car il interprète correctement \n
lors de son utilisation:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Mais quand j'essaye d'utiliser \e
, je reçois ceci:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Comme je l'ai dit, dans Léopard, ce qui précède me donnerait la chaîne "COULEURS" en couleur.
Quelqu'un sait-il pourquoi ce changement pourrait être envisagé? Que diriez-vous d'une solution de contournement pour imprimer des séquences d'échappement ANSI à partir de scripts Bash sous Snow Leopard?
La version shell Bash sur ma machine Leopard est 3.2.17(1)-release
et 3.2.48(1)-release
sur ma machine Snow Leopard.