Yanıtlar:
Aşağıdaki görüntüyü elde etmek için şunu kullanın:
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/ | bash
Özü bash
/ zsh
kod olan shellcheck
temiz, aynı zamanda destekler "Bak Ma, hiçbir subprocesses!".
Alternatif olarak, bir bash
quicky için:
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
Toplam overkill için çok büyük babasıdır terminal-colors
, bir 572 satırı komut birden ile çıkış biçimleri .
terminal-colors
,curl -s https://raw.githubusercontent.com/eikenb/terminal-colors/master/terminal-colors | python
terminal-colors
ve önerdiğim seçeneklerle nasıl karşılaştırılır?
Bunun için, GitHub'da Justin Abrahms tarafından yazılan ve renklerin onaltılık kodlarını da basan güzel bir Python betiği buldum .
Komut dosyasını mevcut çalışma dizinine indirin
wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py
yürütmesine izin vermek
chmod +x colortest.py
Çalıştır:
./colortest.py
İşte link-rot durumunda tam olarak script:
#!/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,
Oldukça "test deseni" olmasa da , xterm-color-chooser'ım var :
curl -s https://raw.githubusercontent.com/grawity/code/master/term/xterm-color-chooser | python3
Benim tarafımdan yazılmış bir başka senaryo da VTE deposunda bulunuyor: https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 .
120-ish veya daha fazla sütun içeren bir pencere gerektirir, ancak 6x6x6 küpünün renklerini hoş ve kompakt olarak düzenler. Endekslerin ilk rakamları kompaktlık için elimden edilmiştir, bunları kolayca çözebilirsiniz. Dikey çubuklar ön plan renginin tam RGB'sini antialiasing tekme atmadan (basamaklarda olduğu gibi) inceleme imkanı sunar.
Çıktının tepesi (aşağıdaki ekran görüntüsünde gösterilmemiştir), kalın ile parlak belirsizlikle ilgili çılgınlığı, yani eski 8 rengin biri için ön plan için kaçış dizisine geçişi gösterdiğini gösterir. Parlak karşıt renk, yeni stilde (256 renkli) kaçış dizileriyle, ilk 8 renk için bile geçerli değil. En azından xterm ve VTE (GNOME Terminali vs.) böyle davranıyor.
Bu ekran görüntüsü çıktının yaklaşık yarısını gösterir:
curl -s -L https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 | bash
Belki gereksizdir ama otomatik kabuk genişlik algılamalı arka planı kullanarak 256 rengi basan bir sürüm yazdım, böylece renkler daha kolay görülebilir.
https://gist.github.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3
#!/usr/bin/env python
from __future__ import print_function
import os
import shutil
import subprocess
def get_width(default=80):
'''Attempt to detect console width and default to 80'''
try:
columns, rows = shutil.get_terminal_size()
except AttributeError:
try:
_, columns = subprocess.check_output(['stty', 'size']).split()
except OSError:
columns = os.environ.get('COLUMNS', default)
columns = int(columns) - 77
# Since we have 6 columns with 1 space on each side, we can increment the
# size for every 12 extra columns
return max(0, columns / 12)
# Loosely based on https://gist.github.com/justinabrahms/1047767
colored = [0] + list(range(95, 256, 40))
colored_palette = [
(r, g, b)
for r in colored
for g in colored
for b in colored
]
grayscale_palette = [(g, g, g) for g in range(8, 240, 10)]
esc = '\033['
# Reset all colors sequence
reset = esc + '0m'
# Regular color
normal = esc + '38;5;{i}m'
# Bold color
bold = esc + '1;' + normal
# Background color
background = esc + '48;5;{i}m'
pattern = (
'{normal}{background}{padding:^{width}}{i:^3d} ' # pad the background
'{r:02X}/{g:02X}/{b:02X}' # show the hex rgb code
'{padding:^{width}}' # pad the background on the other side
'{reset}' # reset again
)
base_context = dict(reset=reset, padding='', width=get_width())
for i, (r, g, b) in enumerate(colored_palette + grayscale_palette, 16):
context = dict(i=i, r=r, g=g, b=b, color=r + g + b, **base_context)
context.update(bold=bold.format(**context))
context.update(background=background.format(**context))
# Change text color from black to white when it might become unreadable
if max(r, g, b) > 0xCC:
context.update(normal=normal.format(i=0))
else:
context.update(normal=normal.format(i=255))
print(pattern.format(**context), end='')
# Print newlines when needed
if i % 6 == 3:
print()
else:
print(' ', end='')
curl https://gist.githubusercontent.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3/raw/250eb2e3f2acca1c51aa52adf611ec0380291e8a/colortest.py | python3
curl -s https://gist.githubusercontent.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3/raw/colortest.py | python3
/cubes
irssi içinde ( kaynak )