Antworten:
Um das folgende Bild zu erhalten, verwenden Sie:
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/ | bash
Der Inhalt bash
/ zsh
Code ist shellcheck
sauber und unterstützt auch "Look Ma, keine Unterprozesse!".
Alternativ für einen bash
schnellen:
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
Für den totalen Overkill ist der Urvater des Loses terminal-colors
ein Skript mit 572 Zeilen und mehreren Ausgabeformaten .
Sie können auch ein Echtfarben-Testmuster (24-Bit) drucken .
terminal-colors
, machecurl -s https://raw.githubusercontent.com/eikenb/terminal-colors/master/terminal-colors | python
terminal-colors
und wie ist es im Vergleich zu den von mir vorgeschlagenen Optionen?
Ich habe auf GitHub ein schönes Python-Skript gefunden, das von Justin Abrahms geschrieben wurde und das auch die Hex-Codes der Farben ausgibt.
Laden Sie das Skript in das aktuelle Arbeitsverzeichnis herunter
wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py
gib ihm Ausführungserlaubnis
chmod +x colortest.py
Starte es:
./colortest.py
Hier ist das vollständige Skript für den Fall von Link-Rot:
#!/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,
Zwar nicht ganz ein „Testmuster“, ich habe xterm-color-chooser :
curl -s https://raw.githubusercontent.com/grawity/code/master/term/xterm-color-chooser | python3
Ein weiteres von mir geschriebenes Skript befindet sich im VTE-Repository: https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 .
Es erfordert ein Fenster mit mindestens 120 Spalten, ordnet die Farben des 6x6x6-Würfels jedoch gut und kompakt an. Die ersten Ziffern der Indizes sind aus Gründen der Kompaktheit entfernt, Sie können sie leicht herausfinden. Mit den vertikalen Balken können Sie das exakte RGB der Vordergrundfarbe untersuchen, ohne dass ein Antialiasing (wie bei den Ziffern) auftritt.
Das obere Ende der Ausgabe (in der Abbildung unten nicht dargestellt) zeigt die Verrücktheit, die mit der kühnen vs. hellen Mehrdeutigkeit einhergeht, nämlich, dass die kühne Escape-Sequenz in Kombination mit einer der Escape-Sequenzen der Legacy-8-Farben für den Vordergrund ebenfalls auf umgeschaltet wird die helle Gegenfarbe, während dies bei den neuen Style-Escape-Sequenzen (256-Farben-fähig) nicht mehr der Fall ist, auch nicht bei den ersten 8 Farben. Zumindest verhalten sich xterm und VTE (GNOME Terminal etc.) so.
Dieser Screenshot zeigt ungefähr die Hälfte der Ausgabe:
curl -s -L https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 | bash
Vielleicht überflüssig, aber ich habe eine Version geschrieben, die die 256 Farben unter Verwendung des Hintergrunds mit automatischer Schalenbreitenerkennung druckt, damit die Farben besser sichtbar sind.
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
in irssi ( Quelle )