ターミナルで 256 色のテスト パターンを印刷するにはどうすればよいですか?
端末が 256 色を正しくサポートしているかどうかを確認したい。
答え1
256色のテストパターン
以下の画像を取得するには、次を使用します。
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/e50a28ec54188d2413518788de6c6367ffcea4f7/print256colours.sh | bash
の要点bash
/zsh
コードはshellcheck
クリーンであり、「ママ見てよ、サブプロセスがないよ!」もサポートします。
あるいは、bash
簡単に言うと:
for i in {0..255} ; do
printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
printf "\n";
fi
done
完全にやりすぎな場合は、ロットの祖父はterminal-colors
、572行のスクリプト複数の出力形式。
あなたもすることができますトゥルーカラー(24ビット)テストパターンを印刷する。
答え2
私は見つけたGitHub に素晴らしい Python スクリプトがありますJustin Abrahms によって書かれており、色の 16 進コードも印刷されます。
スクリプトを現在の作業ディレクトリにダウンロードします
wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py
実行権限を与える
chmod +x colortest.py
それを実行します:
./colortest.py
リンク切れの場合に備えて、スクリプトの全文を以下に示します。
#!/usr/bin/env python
# Ported to Python from http://www.vim.org/scripts/script.php?script_id=1349
print "Color indexes should be drawn in bold text of the same color."
print
colored = [0] + [0x5f + 40 * n for n in range(0, 5)]
colored_palette = [
"%02x/%02x/%02x" % (r, g, b)
for r in colored
for g in colored
for b in colored
]
grayscale = [0x08 + 10 * n for n in range(0, 24)]
grayscale_palette = [
"%02x/%02x/%02x" % (a, a, a)
for a in grayscale
]
normal = "\033[38;5;%sm"
bold = "\033[1;38;5;%sm"
reset = "\033[0m"
for (i, color) in enumerate(colored_palette + grayscale_palette, 16):
index = (bold + "%4s" + reset) % (i, str(i) + ':')
hex = (normal + "%s" + reset) % (i, color)
newline = '\n' if i % 6 == 3 else ''
print index, hex, newline,
答え3
そうではないがとても「テストパターン」はxterm カラー選択:
答え4
ワンライナー
背景色
for i in {0..255}; do printf '\e[48;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done
前景色
for i in {0..255}; do printf '\e[38;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done