Linux

列印控制台顏色

  • January 8, 2019

編寫了一個 bash 函式來顯示控制台顏色。

但是,似乎有些顏色不可能那樣顯示!(?)

另外,請注意奇怪的“亮黑色”!

(注意:下面的 screendump 是 xterm 的,但這意味著要在控制台模式下使用。我不得不使用 xterm 來獲取 screendump。但它看起來很相似。)

clr

function clr () {
 Color_names="bla red gre yel blu mag cya whi"
 Color_arr=($Color_names)
 for m in {0..15}
 do
   tput setaf $m
   echo -n ${Color_arr[$((m % 8))]}" "
 done
 echo
 tput sgr0
 cat /sys/module/vt/parameters/default_red \
     /sys/module/vt/parameters/default_grn \
     /sys/module/vt/parameters/default_blu | tr "," "\t"
}

如果你檢查一下tput colors,你可能會看到答案是 8。顯示鮮豔顏色的方法是 by tput bold

這顯示了前景和背景、正常和粗體的所有 8x8x2 組合。

for cmd in sgr0 bold; do
 tput $cmd
 for i in $(seq 0 7); do
   for j in $(seq 0 7); do
     tput setaf $i; tput setab $j; echo -n " $i,$j "
   done
   tput sgr0; echo; tput $cmd
 done
done

請參閱此部落格文章: http ://www.enigmacurry.com/2009/01/20/256-colors-on-the-linux-terminal/

編輯:如果你只有 8 個顏色結果,tput-color你可以使用 ncurses 來解決你的弱點!在 ubuntu 中安裝它:

sudo apt-get install ncurses-term

並在 ~/.bashrc 或 ~/bash_profile 中添加以下行:

export TERM=xterm-256color

而不是你的腳本,你可以使用 emacs 命令來查看你的顏色。在終端中執行 emacsemacs -nw並輸入命令M-x list-colors-display

不管你有沒有終端,這個工具可以在你所有的終端模擬器上執行;-)

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