환경 설정을 통해 글꼴 색상을 변경하는 방법을 알고 있지만 다음과 같이 모든 텍스트의 색상이 변경됩니다.
내가 원하는 것은 다음과 같습니다.
어떤 팁이 있나요?
답변1
많은 UNIX 터미널은 일부(일반적으로 전부는 아님)를 인식합니다.Ansi 이스케이프 코드
따라서 이를 사용하여(터미널용) 필요에 따라 디스플레이를 변경할 수 있습니다.
매우 간단한 예입니다(저는 printf를 사용하고 있습니다. 다양한(그리고 오래된!) 쉘에서 이식 가능하기 때문입니다):
export _norm_="$(printf '\033[0m')" #reset "everything" to normal
export _bold_="$(printf '\033[1m')" #set bold
export _rred_="$(printf '\033[0;1;5;31m')" #"reverse red"
echo "This is an ${_rred_}ERROR${_norm_} and this is ${_bold_}A WARNING${_norm_}"
이는 터미널 유형(TERM=...) 및 해당 컴퓨터에 연결된 프로그램에 따라 달라질 수 있습니다(특히 퍼티 등의 Windows 터미널(예: F-secure)을 사용하는 경우).
즉, 이것은 완전히 이식 가능하지 않으며 많은 요인에 따라 달라집니다. 하지만 대담한 태도는 언제나 효과가 있습니다. "Reverse"는 터미널에 의존하기가 더 쉽습니다.
tput
또한 터미널의 올바른 순서를 주의 깊게 파악하므로 사용하기가 더 쉽지만 항상 사용할 수 있는 것은 아닙니다(예: 이전 시스템에서는 사용할 수 없음).
답변2
Olivier Dulac이 말했듯이 ANSI 이스케이프 코드가 필요합니다.Bash 팁: 색상 및 서식
더 알아보기.
답변3
sudo dpkg-reconfigure console-setup