ANSI는 American National Standards Institute로 미국 표준 협회라는 뜻이다. 여기에서 보통 안시코드로 잘 알려져있는 ANSI Escape Code를 개발하여 화면에 글자색이나 바탕색을 제어할 수 있게 만들었다. 보통 안시코드로 화면의 색을 지정할 때에는
과 같은 형식을 사용한다. 여기에서 ^[[는 키보드로 ^, [, [ 를 타이핑 하는게 아니라 Ctrl+v , Ctrl+[ 키를 치면 나오는 일종의 문자에 해당된다. 인터넷에서 검색하면 무수히 많은 색상표를 열람할 수 있지만 실제적으로 사용되는 색은 검은색(30), 붉은색(31), 초록색(32), 하늘색(36) 정도이다. 그리고 제일 중요한것은 기본화면색 (0)이다.
터미널에서 사용되는 프롬프트는 보통 환경변수 파일에 들어있는 PS1 이라는 시스템 변수를 수정함으로서 고칠 수 있다. 일반적으로 프롬프트 변수에는 호스트네임, 사용자네임, 그리고 현재 위치정도가 표현되는데, 이를 확인하기 위해서 echo명령을 통해 현재 적용중인 PS1변수 설정을 확인해보면.
echo $PS1
따라서 내가 사용중인 환경변수를 해석해보면 다음과 같다.
일단 처음의 \[ 부터 \] 까지는 color scheme의 시작과 끝을 나타낸다.
32;1 의 뜻은 32(초록색)에 ;1 bold intensity를 적용한다는 뜻이다. 초록색에 bold intensity가 적용되면 밝은 초록색이 되게 된다. 보통 XX;YY 일때 XX는 글자색 , YY는 배경색을 뜻한다. 그런데, 여기에 1은 bold intensity를 뜻하고, 7은 역상을 뜻한다.
\u 는 유저 네임이다. 즉 내가 사용자인지, root계정인지, 방문자 계정인지 등을 나타내준다.
혼자 사용하는 노트북에서는 사실 \h (호스트)가 별 의미 없으므로 사용하지 않았다. 그리고 \W는 경로를 의미하는데 \w를 사용할 경우에는 전체경로가 나타나지만 \W는 현재 작업 디랙토리만 출력하므로 나같은 경우는 \W를 더 선호한다.
마지막의 ^[[0m 은 다시 기본 화면색으로 돌려주는 것으로, 마지막에 이 내용을 생략하면 타이핑 하는 글자가 모두 색이 입혀져서 나오게 된다.
방금은 ANSI코드를 사용해서 프롬프트에 색을 입혔지만, 사실 ANSI 코드는 좀더 광범위한 부분에 사용가능하다. 특히 메세지를 출력해야하는 경우에 echo 등과 함께 같이 사용하면 많은 문장을 좀더 보기좋게 출력해 낼 수 있다. 다만 너무 많은 색의 사용은 오히려 눈만 현란하게 만들고 가독성을 저하시키므로 흑, 적, 녹, 황 정도의 4~5가지 색만 사용해서 이쁜 결과물을 만들도로 노력하는게 중요하겠다.
'e-Logbook' 카테고리의 다른 글
암호없이 SSH로그인 하기 (1) | 2013.05.07 |
---|---|
시딩박스 만들기 (4) | 2012.12.05 |
DropBox를 이용하여 아이패드(및 모바일 기기에서) 파일 넣고 관리하기. (0) | 2012.03.28 |
우분투를 이용하여 완전쉬운 토렌트서버(시딩머신) 구축하기 - (2) (2) | 2012.02.10 |
우분투를 이용하여 완전 쉬운 토렌트서버(시딩머신)만들기 (1) (0) | 2012.02.10 |
댓글