この画像はインターネットで見つけたのですが、どうやって作られたのか分かりません。
誰かサンプルを提供してもらえますか? カラーテーブルも欲しいです。
答え1
次の名前のパッケージをインストールします:
カラーテスト
colortest-8
colortest-16
colortest-16b
などのバイナリを実行して色付けを楽しんでください。
答え2
エスケープシーケンスは、ESC [ SPEC1 ; … m
その後に書き込まれる文字のテキスト属性(色、太字など)を変更します。これは、ANSI 端末エスケープシーケンスそれぞれはSPEC
次のいずれかになります (リストは網羅的ではありません)。
- 0 にするとデフォルトの色に切り替わります。
- 1 太字をオンにします。
- 30 から 37 で前景色 (黒、赤、緑、黄、青、マゼンタ、シアン、グレー) を設定します。
- 40 から 47 まで背景色を設定します (同じリスト)。
以下は、投稿したものとほぼ同じ内容を出力するシェル スニペットです。
printf " "
for b in 0 1 2 3 4 5 6 7; do printf " 4${b}m "; done
echo
for f in "" 30 31 32 33 34 35 36 37; do
for s in "" "1;"; do
printf "%4sm" "${s}${f}"
printf " \033[%sm%s\033[0m" "$s$f" "gYw "
for b in 0 1 2 3 4 5 6 7; do
printf " \033[4%s;%sm%s\033[0m" "$b" "$s$f" " gYw "
done
echo
done
done
答え3
再現するのはそれほど難しくありませんが、スクリーンショットはおそらくtldp.org; そのページの下部には、表示されている表を出力するスクリプトが含まれています。
利用できる色を覚えておくために、すべての色を画面に出力するスクリプトを作成しました。Daniel Crisman が、より優れたバージョンを提供してくれたので、以下に示します。
#!/bin/bash # # This file echoes a bunch of color codes to the # terminal to demonstrate what's available. Each # line is the color code of one forground color, # out of 17 (default + 16 escapes), followed by a # test use of that color on all nine background # colors (default + 8 escapes). # T='gYw' # The test text echo -e "\n 40m 41m 42m 43m\ 44m 45m 46m 47m"; for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ ' 36m' '1;36m' ' 37m' '1;37m'; do FG=${FGs// /} echo -en " $FGs \033[$FG $T " for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; done echo; done echo
同様の表がデモとして入手可能です。F-ANSI ライブラリ:
答え4
echo -e "\n\033[4;31mLight Colors\033[0m \t\t\t \033[1;4;31mDark Colors\033[0m"
echo -e " \e[0;30;47m Black \e[0m 0;30m \t\t \e[1;30;40m Dark Gray \e[0m 1;30m"
echo -e " \e[0;31;47m Red \e[0m 0;31m \t\t \e[1;31;40m Dark Red \e[0m 1;31m"
echo -e " \e[0;32;47m Green \e[0m 0;32m \t\t \e[1;32;40m Dark Green \e[0m 1;32m"
echo -e " \e[0;33;47m Brown \e[0m 0;33m \t\t \e[1;33;40m Yellow \e[0m 1;33m"
echo -e " \e[0;34;47m Blue \e[0m 0;34m \t\t \e[1;34;40m Dark Blue \e[0m 1;34m"
echo -e " \e[0;35;47m Magenta \e[0m 0;35m \t\t \e[1;35;40m Dark Magenta\e[0m 1;35m"
echo -e " \e[0;36;47m Cyan \e[0m 0;36m \t\t \e[1;36;40m Dark Cyan \e[0m 1;36m"
echo -e " \e[0;37;47m Light Gray\e[0m 0;37m \t\t \e[1;37;40m White \e[0m 1;37m"
等々。