Computer/Linux / 리눅스

BASH에서 프롬프트를 알록달록하게 색깔 넣기

jswlinux 2013. 5. 8. 17:44

리눅스나 맥의 터미널에서 BASH의 PS1에 색깔을 넣는 방법이다.  PS1에서 4까지 값이 있지만 우리가 필요한건 1만 변경하면 된다.  먼저 글쓴이의 PS1을 공개한다.

PS1

구조를 보면, 사용자명@호스트명:디렉토리$  식의 구조로 되어있고, 따라서

녹색+사용자명+빨간색+@+녹색+호스트명+파란색+:+디렉토리+색 초기화+$

이런 식으로 넣는다는 것을 알 수 있다.  역시 알고보면 간단하다.  구조를 알았으니 이제 적용만 하면 된다.  적용하는 방법은 터미널을 열고,

export PS1='녹색+사용자명+빨간색+@+녹색+호스트명+파란색+:+디렉토리+색 초기화+$ '

라고 하면 되겠다.  그런데 이걸 매번 하면 귀찮으니까, 아예 터미널이 열릴 때마다 자동으로 적용되도록 해보자.  

 

맥 OS X:  /etc/bashrc 파일을 열어서 PS1 부분을 주석처리하던가 지우던가 하고 새로운 설정을 넣으면 된다.
리눅스:  $HOME/.bashrc 파일을 열면 몇 가지의 PS1 라인이 보이는데, 터미널 타입에 따른 적용을 다르게 하는 부분이다.  귀찮으니까 전부 주석처리하고 새로운 설정을 넣으면 된다.

컬러 코드 (ANSI 코드)를 인터넷에서 알아내는게 의외로 참 힘들더라.  웹서핑 한참 해도 쉽게 찾을 수 없었다.  예전에 어디선가 구해둔 것을 공유해드린다.  아래의 코드를 보고 입맛에 맞는 컬러 프롬프트를 만들어보시면 되겠다.  코드 아래에 파일을 첨부해뒀으니 터미널을 열고 실행권한을 줘서 실행을 시키거나, sh를 붙여서 실행하시면 터미널에서 색상을 보여준다.  참고로 Draco님의 컬러 PS1도 구경해보시라.  홈페이지 바로가기

 

echo " [0m : 모든 색과 스타일 초기화"
echo -e "\033[01m [01m : 굵게(bold) / 밝게 \033[0m"
echo -e "\033[3m [3m : 이탤릭체(italic) \033[0m"
echo -e "\033[4m [4m : 밑줄(underline) \033[0m"
echo -e "\033[7m [7m : 반전(글자색/배경색을 거꾸로) \033[0m"
echo -e "\033[9m [9m : 가로줄 치기 \033[0m"
echo -e "\033[22m [22m : 굵게(bold) 제거 \033[0m"
echo -e "\033[23m [23m : 이탤릭체(italic)제거 \033[0m"
echo -e "\033[24m [24m : 밑줄(underline)제거 \033[0m"
echo -e "\033[27m [27m : 반전 제거 \033[0m"
echo -e "\033[29m [29m : 가로줄 제거 \033[0m"
echo -e "\033[30m\033[47m [30m : 글자색:검정 \033[0m"
echo -e "\033[31m [31m : 글자색:빨강 \033[0m"
echo -e "\033[32m [32m : 글자색:초록 \033[0m"
echo -e "\033[33m [33m : 글자색:노랑 \033[0m"
echo -e "\033[34m [34m : 글자색:파랑 \033[0m"
echo -e "\033[35m [35m : 글자색:마젠트(분홍) \033[0m"
echo -e "\033[36m [36m : 글자색:시안(청록) \033[0m"
echo -e "\033[37m [37m : 글자색:백색 \033[0m"
echo -e "\033[39m [39m : 글자색으로 기본값으로 \033[0m"
echo -e "\033[40m [40m : 바탕색:흑색 \033[0m"
echo -e "\033[41m [41m : 바탕색:적색 \033[0m"
echo -e "\033[42m [42m : 바탕색:녹색 \033[0m"
echo -e "\033[43m [43m : 바탕색:황색 \033[0m"
echo -e "\033[44m [44m : 바탕색:청색 \033[0m"
echo -e "\033[45m [45m : 바탕색:분홍색 \033[0m"
echo -e "\033[46m [46m : 바탕색:청록색 \033[0m"
echo -e "\033[47m [47m : 바탕색:흰색 \033[0m"
echo -e "\033[49m [49m : 바탕색을 기본값으로 \033[0m"

첨부파일: ansi_color.sh