Last active
August 29, 2015 14:05
-
-
Save vozlt/320481080bdd6ddb744e to your computer and use it in GitHub Desktop.
Linux ansi color print
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# @file: ansicolor.sh | |
# @brief: | |
# @author: YoungJoo.Kim <http://vozlt.com> | |
# @version: | |
# @date: | |
# ANSI 형식: {시작문자}{속성들}{색}{종료문자} | |
# | |
# {시작문자}: | |
# \e[ | |
# {속성들}: | |
# 0 속성없음 | |
# 1 도톰하게 | |
# 3 이탤릭체 | |
# 4 밑줄표시 | |
# 5 반짝이게 | |
# 7 색깔반전 | |
# 8 문자숨김 | |
# 9 문자취소선 | |
# | |
# {색}: | |
# 글자색 | |
# 30m 검정 | |
# 31m 빨강 | |
# 32m 초록 | |
# 33m 노랑 | |
# 34m 파랑 | |
# 35m 분홍 | |
# 36m 청록 | |
# 37m 하얀 | |
# | |
# 배경색 | |
# 40m 검정 | |
# 41m 빨강 | |
# 42m 초록 | |
# 43m 노랑 | |
# 44m 파랑 | |
# 45m 분홍 | |
# 46m 청록 | |
# 47m 하얀 | |
# | |
# 글자색 고강도 | |
# 90m 검정 | |
# 91m 빨강 | |
# 92m 초록 | |
# 93m 노랑 | |
# 94m 파랑 | |
# 95m 분홍 | |
# 96m 청록 | |
# 97m 하얀 | |
# | |
# 배경색 고강도 | |
# 100m 검정 | |
# 101m 빨강 | |
# 102m 초록 | |
# 103m 노랑 | |
# 104m 파랑 | |
# 105m 분홍 | |
# 106m 청록 | |
# 107m 하얀 | |
# | |
# {종료문자}: | |
# \e[0m | |
# | |
# ANSI 예제: | |
# echo -e "\e[31m빨강\e[0m" | |
# echo -e "\e[1;4;31m굵은밑줄빨강\e[0m" | |
normal=0 | |
bold=1 | |
italic=2 | |
underline=3 | |
blink=4 | |
reverse=5 | |
concealed=6 | |
escline=7 | |
color=8 | |
bg_color=9 | |
black=10 | |
red=11 | |
green=12 | |
yellow=13 | |
blue=14 | |
purple=15 | |
cyan=16 | |
white=17 | |
_NAME[black]='검정' | |
_NAME[red]='빨강' | |
_NAME[green]='초록' | |
_NAME[yellow]='노랑' | |
_NAME[blue]='파랑' | |
_NAME[purple]='분홍' | |
_NAME[cyan]='청록' | |
_NAME[white]='하얀' | |
# ANSI 접두사 | |
_ANSI_ON='\e[' | |
# ANSI 초기화 | |
_ANSI_OFF='\e[0m' | |
# 문자 일반 | |
_ANSI_ATTR[normal]='0' | |
# 문자 도톰 | |
_ANSI_ATTR[bold]='1' | |
# 문자 이탤릭채 | |
_ANSI_ATTR[italic]='3' | |
# 문자 밑줄 | |
_ANSI_ATTR[underline]='4' | |
# 문자 반짝 | |
_ANSI_ATTR[blink]='5' | |
# 문자색 반전(글자색/배경색 서로 바꿈) | |
_ANSI_ATTR[reverse]='7' | |
# 문자 숨김 | |
_ANSI_ATTR[concealed]='8' | |
# 문자 취소선 | |
_ANSI_ATTR[escline]='9' | |
# 문자 도톰 제거 | |
_ANSI_RM[bold]='22m' | |
# 문자 이탤릭체 제거 | |
_ANSI_RM[italic]='23m' | |
# 문자 밑줄 제거 | |
_ANSI_RM[underline]='24m' | |
# 문자 반전(글자색/배경색) 제거 | |
_ANSI_RM[reverse]='27m' | |
# 문자 취소선 제거 | |
_ANSI_RM[escline]='29m' | |
# 문자 색깔 제거 | |
_ANSI_RM[color]='39m' | |
# 문자 배경색 제거 | |
_ANSI_RM[bg_color]='49m' | |
# 글자색을 지정 | |
_ANSI_COLOR[black]='30m' # 검정 | |
_ANSI_COLOR[red]='31m' # 빨강 | |
_ANSI_COLOR[green]='32m' # 초록 | |
_ANSI_COLOR[yellow]='33m' # 노랑 | |
_ANSI_COLOR[blue]='34m' # 파랑 | |
_ANSI_COLOR[purple]='35m' # 분홍 | |
_ANSI_COLOR[cyan]='36m' # 청록 | |
_ANSI_COLOR[white]='37m' # 하얀 | |
# 배경색을 지정 | |
_ANSI_COLOR_BG[black]='40m' # 검정 | |
_ANSI_COLOR_BG[red]='41m' # 빨강 | |
_ANSI_COLOR_BG[green]='42m' # 초록 | |
_ANSI_COLOR_BG[yellow]='43m' # 노랑 | |
_ANSI_COLOR_BG[blue]='44m' # 파랑 | |
_ANSI_COLOR_BG[purple]='45m' # 분홍 | |
_ANSI_COLOR_BG[cyan]='46m' # 청록 | |
_ANSI_COLOR_BG[white]='47m' # 하얀 | |
# 글자색을 고강도로 지정(High Intensity) | |
_ANSI_COLOR_HI[black]='90m' # 검정 | |
_ANSI_COLOR_HI[red]='91m' # 빨강 | |
_ANSI_COLOR_HI[green]='92m' # 초록 | |
_ANSI_COLOR_HI[yellow]='93m' # 노랑 | |
_ANSI_COLOR_HI[blue]='94m' # 파랑 | |
_ANSI_COLOR_HI[purple]='95m' # 분홍 | |
_ANSI_COLOR_HI[cyan]='96m' # 청록 | |
_ANSI_COLOR_HI[white]='97m' # 하얀 | |
# 배경색을 고강도로 지정(High Intensity) | |
_ANSI_COLOR_HI_BG[black]='100m' # 검정 | |
_ANSI_COLOR_HI_BG[red]='101m' # 빨강 | |
_ANSI_COLOR_HI_BG[green]='102m' # 초록 | |
_ANSI_COLOR_HI_BG[yellow]='103m' # 노랑 | |
_ANSI_COLOR_HI_BG[blue]='104m' # 파랑 | |
_ANSI_COLOR_HI_BG[purple]='105m' # 분홍 | |
_ANSI_COLOR_HI_BG[cyan]='106m' # 청록 | |
_ANSI_COLOR_HI_BG[white]='107m' # 하얀 | |
# 일반적인 글자색 출력 | |
for color in black red green yellow blue purple cyan white | |
do | |
echo -e -n "[${_ANSI_COLOR[color]}: ${_ANSI_ON}${_ANSI_COLOR[color]}${_NAME[color]}${_ANSI_OFF}] " | |
done | |
echo | |
# 일반적인 배경색 출력 | |
for color in black red green yellow blue purple cyan white | |
do | |
echo -e -n "[${_ANSI_COLOR_BG[color]}: ${_ANSI_ON}${_ANSI_COLOR_BG[color]}${_NAME[color]}${_ANSI_OFF}] " | |
done | |
echo | |
# 속성별 글자 출력 | |
for color in black red green yellow blue purple cyan white | |
do | |
for attr in bold italic underline blink reverse concealed escline | |
do | |
echo -e -n "[${_ANSI_ATTR[attr]};${_ANSI_COLOR[color]}: ${_ANSI_ON}${_ANSI_ATTR[attr]};${_ANSI_COLOR[color]}${_NAME[color]}${_ANSI_OFF}] " | |
done | |
echo | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment