Wenn ich versuche, farbigen Text mit ANSI-Escape-Sequenzen über den eingebauten echo
Befehl auszudrucken , wird die \e
Escape-Sequenz in der von mir angegebenen Zeichenfolge buchstäblich interpretiert und nicht als "Escape", das sie darstellen soll. Dies geschieht nur in Snow Leopard - die folgenden Beispiele funktionieren in Leopard wie beabsichtigt.
Anscheinend echo
unterstützt der -e
Schalter, da er \n
bei der Verwendung korrekt interpretiert wird:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Aber wenn ich versuche zu benutzen \e
, bekomme ich folgendes:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Wie ich bereits sagte, würde mir in Leopard der obige String die Farbe "COLORS" geben.
Kennt jemand einen Grund, warum dies eine beabsichtigte Änderung sein könnte? Wie wäre es mit einer Problemumgehung für das Drucken von ANSI-Escape-Sequenzen aus Bash-Skripten auf Snow Leopard?
Die Bash-Shell-Version auf meinem Leopard-Computer ist 3.2.17(1)-release
und 3.2.48(1)-release
auf meinem Snow Leopard-Computer.