Bash

Bash - 帶有粗體黑色文本的紫色背景的 ANSI 顏色程式碼

  • May 6, 2019

帶有黑色粗體文本(前景)的紫色(或深紫色)背景的 ANSI 顏色程式碼是什麼。

例如,這裡是帶有黑色粗體文本的青色: echo -e "\e[30;1;46mExample\e[0m"

帶有粗體黑色文本的青色背景

在查閱了許多 ANSI 顏色程式碼列表和範例後,我無法弄清楚如何對紫色背景進行同樣的處理。我能想到的最接近的是帶有黑色粗體文本的洋紅色背景,使用30;1;45m

帶有粗體黑色文本的洋紅色背景

您的轉義序列\e[30;1;45m可能更容易理解為三個序列的合併:

  1. \e[30m– 這意味著“黑色前景”
  2. \e[1m– 這意味著“明亮的前景”
  3. \e[45m– 這意味著“洋紅色背景”

現在這些顏色序列僅限於 8 種顏色

  • 黑色的
  • 紅色的
  • 綠色
  • 黃色的
  • 藍色的
  • 品紅
  • 青色
  • 白色的

這些是傳統的 ANSI 顏色。

但是,如果您的終端支持,則允許選擇 256 種顏色的序列。

\e[38;5;###m其中###0 到 255 之間的數字將選擇前景色。

\e[48;5;###m同樣選擇背景顏色。

所以也許\e[38;5;0;1;48;5;92m可能接近你想要的。

注意:如果您使用 256 色背景設置,那麼您還需要使用 256 色前景設置。

FWIW,以下 python 腳本將顯示所有背景顏色,可以幫助您選擇所需的顏色。

import sys
for i in range(0, 16):
   for j in range(0, 16):
       code = str(i * 16 + j)
       sys.stdout.write(u"\u001b[48;5;" + code + "m " + code.ljust(4))
   print u"\u001b[0m"

(取自http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html#background-colors

引用自:https://unix.stackexchange.com/questions/517306