728x90
반응형

리눅스에서 출력할 때 문자 또는 배경의 색상을 변경할 수 있다.

리눅스에서 문자를 출력할 때 사용하는 print , printf 그리고 echo 가 있다.
간단하게 설명하면
print 와 echo자동으로 줄바꿈을 해주고
printf개행문자(\n)를 넣어주어야 줄바꿈이 된다.

그럼 문자 또는 배경에 색상을 넣으려면 어떻게 해야할까?

ANSI escape code 3/4bit Colors Code

위와 같이 ANSI esacape code 에서 제공해주는 Colors Code 인
FG(ForeGround)  코드와 BG(BackGround) 코드를 통해 사용할 수 있다.

사용하는 방법은 일단 예제를 통해 확인할 수 있다.

예제를 보면 print, printf 와 달리 echo 는 -e 옵션을 통해 문자나 배경의 색상을 변경할 수 있다.

\033[  : ANSI escape code 의 시작
32       : 위의 코드표에서 Green FG Code(32)
m        :  ANSI escape code 의 종료

Hello, Jay : 입력 문자

\033[  : ANSI escape code 의 시작
0         : SGR parameters 의 Reset/Normal Code(0)
m        :  ANSI escape code 의 종료

로 해석할 수 있다.

Green 색 말고도 다른 코드를 사용하면 다른 색상으로 변경이 가능하다.
그리고 세미콜론(;)을 사용해 SGR parameters 와 같이 한 번에 여러 옵션을 추가할 수 있다.
아래는 SGR parameters 의 일부이다. 자세한 내용은 아래의 참고 사이트에서 확인 가능하다.

ANSI escape code SGR parameters

예를 들면,

요렇게 사용해볼 수 있는데 가장 위의 예를 확인해보면,
세미콜론(;) 을 통해
Colors32번 코드인 Green Color 를 사용하고
SGR parameters1번 코드인 문자를 Bold, 굵게 표시 하라는 내용이다.

직접 사용해보면 어떻게 사용하는지 쉽게 확인할 수 있을 것이다.

 

- 참고 사이트 - 

en.wikipedia.org/wiki/ANSI_escape_code

 

ANSI escape code - Wikipedia

Method using in-band signaling to control the formatting, color, and other output options on video text terminals Output of the system-monitor htop, an ncurses-application (which uses SGR and other ANSI/ISO control sequences). ANSI escape sequences are a s

en.wikipedia.org

 

728x90
반응형
복사했습니다!