コンソールカラー印刷

コンソールカラー印刷

コンソールの色を表示するbash関数を作成しました。

しかし、いくつかの色はこのように表示されないようです! (?)

また、奇妙な「光沢のある黒」の色に注目してください!

(注:以下の画面ダンプはxtermから取得したものですが、コンソールモードで使用するためのものです。画面ダンプを取得するにはxtermを使用する必要がありましたが、似ているようです)。

整理率

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"
}

ベストアンサー1

を確認すると、tput colors答えは8であることがわかります。明るい色を表現する方法はを通してです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

おすすめ記事