카테고리 없음

Bash - 터미널에 컬러 출력

SciomageLAB 2024. 10. 4. 12:06
반응형

컬러 모델

  • 8bit
  • 3/4bit
  • 24bit

스타일 지정

텍스트 스타일

0~9까지 지정 가능한 스타일이 있다.

  • 0; 디폴트 색으로 돌리기
  • 1; 밝게
  • 2; 어둡게
  • 3; 이탤릭
  • 4; 밑줄
  • 5; blink(느리게)
  • 6; blink(빠르게)
  • 7; 색상 반전
  • 8; 숨기기
  • 9; 취소선

    컬러 스타일

    forground와 background값 두가지 컬러 모드를 지정해줄 수 있다.
    3/4 bit에서 forground값은 3037 범위를 가지고 background는 4047사이 값을 가진다.
    #!/bin/bash
    for i in {0..9}
    do
      for j in {30..37}
      do
          echo -n -e "\e[${i};${j}m*\e[0m"
      done
      echo ""
    done
    ![[3_4bit.gif]]

    8bit, 24bit RGB로 출력하기

    forground는 38, background 48이 24bit 컬러모드로 출력함을 의미하는 숫자이다. 8bit는 38;05를; 또는 48;05를 24bit는 38;02; 48;02를 쓰면된다
    for code in {0..255}; do echo -n -e "\e[38;05;${code}m#"; done; echo -e "\e[0;0;0m"
    for code in {0..255}; do echo -n -e "\e[48;05;${code}m#"; done; echo -e "\e[0;0;0m"
    ![[Pasted image 20220404024812.png]]

    24bit로 출력하기

    3;38;255;0;0 이라면 이탤릭, 24bit, RGB값 255, 0, 0으로 출력을 한다는 의미이다. 아래의 코드는 forground와 background를 24bit로 이탤릭 스타일로 출력하는 예제이다.
    for code in {0..255}; do echo -n -e "\e[3;38;2;255;0;0mb"; done; echo -e "\e[0;0;0m"
    for code in {0..255}; do echo -n -e "\e[3;48;2;${code};0;0mb"; done; echo -e "\e[0;0;0m"
    ![[Pasted image 20220404031658.png]]

    참고문헌

    [Stackoverflow Bash 컬러 출력](# 컬러 모델
  • 8bit
  • 3/4bit
  • 24bit

스타일 지정

텍스트 스타일

0~9까지 지정 가능한 스타일이 있다.

  • 0; 디폴트 색으로 돌리기
  • 1; 밝게
  • 2; 어둡게
  • 3; 이탤릭
  • 4; 밑줄
  • 5; blink(느리게)
  • 6; blink(빠르게)
  • 7; 색상 반전
  • 8; 숨기기
  • 9; 취소선

    컬러 스타일

    forground와 background값 두가지 컬러 모드를 지정해줄 수 있다.
    3/4 bit에서 forground값은 3037 범위를 가지고 background는 4047사이 값을 가진다.
    #!/bin/bash
    for i in {0..9}
    do
      for j in {30..37}
      do
          echo -n -e "\e[${i};${j}m*\e[0m"
      done
      echo ""
    done
    Imgur

    8bit, 24bit RGB로 출력하기

    forground는 38, background 48이 24bit 컬러모드로 출력함을 의미하는 숫자이다. 8bit는 38;05를; 또는 48;05를 24bit는 38;02; 48;02를 쓰면 된다. 아래 예시는 8bit로 0~255까지 컬러를 출력하는 예시이다.
    for code in {0..255}; do echo -n -e "\e[38;05;${code}m#"; done; echo -e "\e[0;0;0m"
    for code in {0..255}; do echo -n -e "\e[48;05;${code}m#"; done; echo -e "\e[0;0;0m"
    file

    24bit로 출력하기

    3;38;255;0;0 이라면 이탤릭, 24bit, RGB값 255, 0, 0으로 출력을 한다는 의미이다. 아래의 코드는 forground와 background를 24bit로 이탤릭 스타일로 출력하는 예제이다.
    for code in {0..255}; do echo -n -e "\e[3;38;2;255;0;0mb"; done; echo -e "\e[0;0;0m"
    for code in {0..255}; do echo -n -e "\e[3;48;2;${code};0;0mb"; done; echo -e "\e[0;0;0m"
    file

    참고문헌

    Stackoverflow Bash 컬러 출력
반응형