Когда я пытаюсь распечатать некоторый цветной текст, используя escape-последовательности ANSI через встроенную echo
команду, кажется, что \e
escape-последовательность в строке, которую я предоставляю, интерпретируется буквально, а не как «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.