Ответ 1
OSX поставляется со старой версией Bash, которая не поддерживает escape-символ \e
. Используйте \x1B
или обновите Bash (brew install bash
).
Тем не менее, лучше было бы использовать tput
.
Я пытаюсь добавить вывод цвета к моим ошибкам в bash script, который у меня запущен на Mac. Проблема в том, что цвета не работают. Я создал простейший из сценариев, чтобы продемонстрировать, что он не работает:
#!/bin/bash
echo -e "\e[1;31m This is red text \e[0m"
Однако, когда я запускаю его, я не вижу никаких цветов, как показано на этом изображении. Цветной вывод команды ls работает нормально.
OSX поставляется со старой версией Bash, которая не поддерживает escape-символ \e
. Используйте \x1B
или обновите Bash (brew install bash
).
Тем не менее, лучше было бы использовать tput
.
Используйте \033
или \x1B
вместо \e
для представления символа <Esc>
.
echo -e "\033[1;31m This is red text \033[0m"
См. http://misc.flogisoft.com/bash/tip_colors_and_formatting
Другим вариантом может быть использование zsh, что соответствует нотации \e
.
#!/bin/zsh