Wenn ich versuche, farbigen Text mit ANSI-Escape-Sequenzen über den eingebauten echoBefehl auszudrucken , wird die \eEscape-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 echounterstützt der -eSchalter, da er \nbei 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)-releaseund 3.2.48(1)-releaseauf meinem Snow Leopard-Computer.