안녕하세요, MJ 입니다.
프롬프트에 색깔 입히기에 대해 알아보겠습니다.
전에 프롬프트의 종류에 대해 간략하게 설명을 남기겠습니다.
bash 에서의 프롬프트는 2종류가 존재하고, 모두 변수로 출력 할 내용을 설정합니다.
1) PS1: 시스템 로그인 시 확인되는 프롬프트 입니다.
2) PS2: 명령어가 끝나지 않은 상태로 줄바꿈 시 출력 되는 프롬프트 입니다.
(기본 설정: "> " )
<PS1>
: 우리가 알고 있는 프롬프트 설정이 저장되는 변수 입니다.
<PS2>
: for, while, if/else/fi 와 같이 스크립트 구문을 프롬프트에서 수행 하는 동안 줄바꿈을 수행 시 확인되는 그 프롬프트 입니다.
[색 표현 코드]
- 출력 코드 예시
색상코드: \033[<색상번호>m"작성내용"
색상코드 이후 작성되는 내용이 입력 한 색상대로 출력 됩니다.
[색상표]
- 색상 코드(폰트)
일반 검정폰트: 30, 일반 빨강폰트: 31, 일반 초록폰트: 32, 일반 노랑폰트: 33,
일반 파랑폰트: 34, 일반 보라폰트: 35, 일반 청록폰트: 36, 일반 하양폰트: 37,
밝은 검정폰트: 90, 밝은 빨강폰트: 91, 밝은 초록폰트: 92, 밝은 노랑폰트: 93,
밝은 파랑폰트: 94, 밝은 보라폰트: 95, 밝은 청록폰트: 96, 밝은 하양폰트: 97
- 스타일 코드
+ 초기화: 0 (모든 색상 및 스타일 초기화),
+ 굵게: 1,
+ 이탤릭체: 3,
+ 밑줄: 4,
+ 반전: 7 (글자색과 배경색을 반전),
+ 가로줄(취소선): 9
- 배경색(빨강 폰트)
빨강배경: 41, 초록배경: 42,
노랑배경: 43, 파랑배경: 44,
보라배경: 45, 청록배경: 46,
하양배경: 47, 검정배경: 40
- 폰트색상코드 출력 예제
일반빨강폰트 출력: \033[31m"작성내용", 일반초록폰트 출력: \033[32m"작성내용",
일반노랑폰트 출력: \033[33m"작성내용", 일반파랑폰트 출력: \033[34m"작성내용",
일반보라폰트 출력: \033[35m"작성내용", 일반청록폰트 출력: \033[36m"작성내용",
일반하양폰트 출력: \033[37m"작성내용", 일반검정폰트 출력: \033[30m"작성내용".
- 배경색(빨강 폰트) 출력 예제
빨강배경 출력: \033[31;41m"작성내용", 초록배경 출력: \033[31;42m"작성내용",
노랑배경 출력: \033[31;43m"작성내용", 파랑배경 출력: \033[31;44m"작성내용",
보라배경 출력: \033[31;45m"작성내용", 청록배경 출력: \033[31;46m"작성내용",
하양배경 출력: \033[31;47m"작성내용", 검정배경 출력: \033[31;40m"작성내용".
- 스타일코드 출력 예제(빨강폰트,노랑배경)
볼드,빨강폰트,노랑배경 출력: \033[1;31;43m"작성내용"
밑줄,빨강폰트,노랑배경 출력: \033[4;31;43m"작성내용"
- 색,배경,스타일 모두 기본으로 되돌리기 예제
모두 원래대로 되돌림: \033[0m"작성내용"
* 사용자 이름, 호스트 이름, 현재 디렉토리를 포함한 기본 프롬프트입니다.
(기본설정 확인으로 /etc/bashrc 에 설정 되어 부팅 시 적용되는 내용입니다.)
(기본설정) PS1='[\u@\h \W]\$ '
+ 프롬프트(PS1) 설정 내용
- ] or [ : 프롬프트 정보를 감싸줄 대 괄호를 출력합니다.
- \u : 유저의 이름을 출력합니다.
- \h : 호스트명을 출력합니다.
- \W : 현재 디렉토리명을 출력합니다.
- \$ : root 유저는 "#" , 일반유저는 "$" 문자를 출력.
* 예시: 초록색(볼드)으로 프롬프트를 출력 후 기본 색으로 되돌아오는 설정 입니다.
PS1='\033[1;32m[\u@\h \033[0m\W\033[1;32m]\$\033[0m '
프롬프트 설정 내용을, 로그인 시 또는 부팅 시 적용 될 수 있도록 파일에 저장 합니다.
- 로그인 시: <홈디렉토리>/.bashrc 파일의 최 하단에 PS1 변수를 설정.
- 부팅 시: /etc/bashrc 파일의 최 하단에 PS1 변수를 설정.
여기까지 프롬프트의 색상 변경 내용이었습니다.
문의사항은 댓글을 달아 주시면 성심껏 답변 드리겠습니다.
감사합니다.
댓글
댓글 쓰기