lawfully.kr
한 미국 변호사의 서랍

bash

bash shell에서 색 표현하기

모든 색깔 표현은 \e[1; 로 시작하여, 그 다음에 2자리 숫자, 그리고 m으로 끝나는 문자로 시작한다.

\e[1;31m

그리고, 끝낼 때에도 마찬가지이지만 숫자가 0이 된다. 0은 색을 초기화하는 것이다.

\e[0m

그 사이에 사용되는 숫자는 3으로 시작하면 글자색, 그리고 4로 시작하면 배경색이다. 즉,

  • 0: 초기화
  • 30, 40: 검정
  • 31, 41: 빨강
  • 32, 42: 초록
  • 33, 43: 노랑
  • 34, 44: 파랑
  • 35, 45: 마젠타
  • 36, 46: 사이언
  • 37, 47: 하얀색

예를 들어, 글자를 빨간색으로 하려면,

$ echo -e "\e[1;31m RED \e[0m"

과 같이 한다. 맥에서는 위의 \e\x1B 또는 \033으로 바꾸어야 할 수도 있다. 이 문제는 맥에서 사용하는 bash 즉, /bin/bash가 너무 오래된 버전이라 생기는 것이다. 예를 들어, 현재 bash의 버전이 4.4.5인데, 맥의 기본 셸 버전은 3.2.57이다 (라이센스 문제 때문이라고 한다). 따라서 만일 다른 버전의 셸을 설치하여 사용하고 싶다면, 설치한 다음 그 경로를 /etc/shells에 추가한 다음, chsh -s 명령으로 바꾸거나, 아니면 시스템 환경설정에서 Users & Groups로 가서 사용자를 선택한 다음, 오른쪽 마우스로 사용자를 클릭하고 Advanced Options에서 Login shell을 바꾸면 된다.