쉘로 출력 (printf)하는 아스키 아트 (텍스트)에 색을 붙이고 싶다

아스키 아트 어드벤트 캘린더 2 일째 기사입니다.
쉘로 출력(printf)하는 아스키 아트(텍스트)에 색을 붙이는 구현입니다.

전단



이전에는 "nem.sh"라는 블록체인을 사용하는 셸 스크립트 공유 도구를 만들었습니다.
· nem.sh
htps : // 기주 b. 이 m/scrp1l/네 m. sh

그 데모에서 터미널에 아스키 아트의 NEM 로고를 표시하고 싶었습니다. 또 모처럼이므로 흑백이 아니라 색을 붙여 표시하려고 생각했습니다. 색깔이 CLI 도구라고 해도 상당히 호화로운 느낌이 되지 않을까? 라고 생각해.


방법



shell로 printf 출력하고 싶은 텍스트의 앞에, 이런 느낌 \033[0;33m 에 이스케이프 하면 색이 바뀌는 것 같습니다.
[ 이후의 최초의 수치가 상태 번호, 그 다음의 33 가 칼라 코드가 됩니다.

각 상태 번호, 컬러 코드의 의미는 이 기사의 스크립트를 이용하여 조사했습니다.
htps : // 코 m / 소라 무기 / ms / 46117274419665 601
状態番号
 デフォルト状態 00
 強調           01
 下線           04
 点滅           05
 色反転         07
 塗りつぶし     08 (塗りつぶし     08)

色番号
 黒               30   40   31;40   32;00;40
 赤               31   41   32;41   33;01;41
 緑               32   42   33;42   34;04;42
 黄(または茶)     33   43   34;43   35;05;43
 青               34   44   35;44   36;07;44
 紫               35   45   36;45   37;00;45
 シアン           36   46   37;46   30;01;46
 白(またはグレー) 37   47   30;47   31;04;47

구현



네, 그래서 구현은 이런 느낌입니다.
Y='\033[0;33m'
B='\033[1;34m'
G='\033[1;36m'
N='\033[0m'
![Screen Shot 2018-12-02 at 21.21.52.png](https://qiita-image-store.s3.amazonaws.com/0/165335/653a775c-9ea1-11f4-b576-0be4c630c040.png)

printf "       ${Y}sssssssssssss${N}\n"
printf "  ${Y}ssssssssssssssss${N}  ${B}sssssssssss${N}\n"
printf "${Y}ssssssssssssssss${N}   ${B}sssssssssssss${N}\n"
printf "${Y}sssssssssssssss${N}  ${B}sssssssssssssss${N}\n"
printf " ${Y}ssssssssssssss${N}  ${B}ssssssssssssss${N}\n"
printf "  ${Y}sssssssssssss${N}   ${B}sssssssssssss${N}\n"
printf "    ${Y}'''''''''${N}         ${B}ssssssss${N}\n"
printf "   ${G}hssssssssssssssss${N}    ${B}sssss${N}\n"
printf "    ${G}sssssssssssssssssss${N}  ${B}sss${N}\n"
printf "      ${G}sssssssssssssssss${N}  ${B}ss${N}\n"
printf "        ${G}sssssssssssssss${N}  \n"
printf "          ${G}ssssssssssss${N}\n"
printf "             ${G}sssssss${N}\n"
printf "               ${G}sss${N}\n"

출력



좋은 느낌으로 색깔이 있습니다!
역시 색이 붙어있는 것이 빛나네요!



요약



생각했던 것보다 쉽게 ​​문자를 색칠할 수 있었습니다.

그건 그렇고,이 NEM 로고의 아스키 아트는 내가 콘솔에서 아래로 투과시킨 것을 추적했습니다. 편집기는 vim을 사용했습니다.


의외로 간단하게 만들 수 있고, 아스키 아트가 있으면 CLI 도구로도 빛난다고 생각합니다. 자작 CLI 툴을 만드는 분은 꼭 아스키 아트를 만들어 툴에 추가해 보세요.
그럼.

좋은 웹페이지 즐겨찾기