Вы знаете, что цветной вывод сделан специальными последовательностями символов, например:
echo -e "\e[34m Hello\n \e[0m"
Это даст слово «Hello», окрашенное в синий цвет. Для этого мне пришлось искать в Интернете, и это сложно, потому что разные источники могут сказать что-то другое. Я думал, что должны быть какие-то инструкции, но я не мог их найти. Даже с apropos color
или что-то подобное. Итак, вопрос - где я могу найти надежные инструкции?
terminal
colors
documentation
Сергий
источник
источник
Ответы:
На этой странице слишком много источников информации для перечисления:
echo -e
использует расширение для отображения\e
как ASCII 27 (восьмеричное 33 или "\ 033"). Портативный способ распечатать эти используетprintf
(POSIX). Сравните со стандартнымecho
(POSIX).Ваш пример может быть переписан как
printf "\033[34m Hello\n \033[0m"
Вы также можете прочитать страницы руководства для
tput
, что позволяет использоватьterminfo
возможности в сценарии оболочки. Ваш пример может быть переписан какнекоторые источники, такие как Bash Prompt HOWTO и Advanced Bash-Scripting Guide, упоминают цвет, но (даже они), как правило, имеют пробелы и упущения и не помогают в отношении ECMA-48.
источник