Когда я пытаюсь распечатать некоторый цветной текст, используя escape-последовательности ANSI с помощью встроенной команды echo
, кажется, что escape-последовательность \e
в строке, которую я предоставляю, интерпретируется буквально, а не как "escape", которое она должна представлять. Это происходит только в Snow Leopard - приведенные ниже примеры работают так, как задумано в Leopard.
Очевидно, echo
поддерживает ключ -e
поскольку он правильно интерпретирует \n
при его использовании:
~ $
~ $ echo "\n"
\n
~ $ echo -e "\n"
~ $
Но когда я пытаюсь использовать \e
, я получаю это:
~ $ echo -e "\e[34mCOLORS"
\e[34mCOLORS
~ $
Как я уже говорил, в "Леопарде" вышесказанное дало бы мне строку "ЦВЕТА" в цвете.
Кто-нибудь знает причину, почему это может быть предполагаемое изменение? Как насчет обходного пути для печати escape-последовательностей ANSI из сценариев Bash на Snow Leopard?
Версия оболочки Bash на моей машине Leopard имеет версию 3.2.17(1)-release
и 3.2.48(1)-release
на моей машине Snow Leopard.