Wiesz, że pokolorowane dane wyjściowe są tworzone przez specjalne sekwencje znaków, na przykład:
echo -e "\e[34m Hello\n \e[0m"
Spowoduje to wygenerowanie słowa „cześć” w kolorze niebieskim. Aby to zrobić, musiałem szukać w Internecie i jest to trudne, ponieważ różne źródła mogą mówić coś innego. Myślałem, że muszą być jakieś instrukcje, ale nie mogłem ich znaleźć. Nawet z apropos color
czymś podobnym. Pytanie brzmi - gdzie mogę znaleźć wiarygodne instrukcje?
terminal
colors
documentation
Sergiusz
źródło
źródło
Odpowiedzi:
Na tej stronie jest zbyt wiele źródeł informacji, by je wymienić:
echo -e
używa rozszerzenia do renderowania\e
jako ASCII 27 (ósemkowa 33 lub „\ 033”). Przenośny sposób drukowania tych zastosowańprintf
(POSIX). Porównaj ze standardowymecho
(POSIX).Twój przykład można przepisać jako
printf "\033[34m Hello\n \033[0m"
możesz również przeczytać strony podręcznika dla
tput
, co pozwala na użycieterminfo
możliwości w skrypcie powłoki. Twój przykład może zostać przepisany jakokilka źródeł, takich jak Bash Prompt HOWTO i Advanced Bash-Scripting Guide, wspomina o kolorze, ale (nawet te) z reguły mają luki i przeoczenia i nie są pomocne w odniesieniu do ECMA-48.
źródło