Câu trả lời:
Để có được hình ảnh dưới đây, sử dụng:
curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/ | bash
Các ý chính bash
/ zsh
đang là shellcheck
sạch, và cũng hỗ trợ "Look Ma, không có quy trình con!".
Ngoài ra, để bash
nhanh chóng:
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
Đối với tổng số tiền quá mức, phần lớn của lô là terminal-colors
một tập lệnh 572 dòng với nhiều định dạng đầu ra .
Bạn cũng có thể in một mẫu thử nghiệm màu thật (24 bit) .
terminal-colors
, làmcurl -s https://raw.githubusercontent.com/eikenb/terminal-colors/master/terminal-colors | python
terminal-colors
và làm thế nào để so sánh với các tùy chọn tôi đề xuất?
Tôi đã tìm thấy một tập lệnh Python đẹp cho nó trên GitHub được viết bởi Justin Abrahms, cũng in mã hex của các màu.
Tải tập lệnh về thư mục làm việc hiện tại
wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py
cho phép nó thực thi
chmod +x colortest.py
Chạy nó:
./colortest.py
Đây là tập lệnh đầy đủ trong trường hợp liên kết-quay:
#!/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,
Mặc dù không hoàn toàn là "mẫu thử nghiệm", tôi có xterm-color-chouler :
curl -s https://raw.githubusercontent.com/grawity/code/master/term/xterm-color-chooser | python3
Một tập lệnh khác, được viết bởi tôi, nằm trong kho VTE: https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 .
Nó đòi hỏi một cửa sổ gồm 120 cột trở lên, nhưng sắp xếp màu sắc của khối 6x6x6 độc đáo và gọn nhẹ. Các chữ số đầu tiên của các chỉ số được tước bỏ cho gọn, bạn có thể dễ dàng tìm ra chúng. Các thanh dọc cung cấp cho bạn khả năng kiểm tra RGB chính xác của màu nền trước mà không cần khử răng cưa (giống như ở các chữ số).
Phần đầu ra (không hiển thị trong ảnh chụp màn hình bên dưới) thể hiện sự điên rồ đi cùng với sự mơ hồ đậm và sáng, cụ thể là chuỗi thoát đậm nét kết hợp với một trong các chuỗi thoát 8 màu kế thừa cho tiền cảnh cũng chuyển sang màu đối lập sáng, trong khi với các chuỗi thoát kiểu mới (có khả năng 256 màu), đây không còn là trường hợp nữa, thậm chí không có trong 8 màu đầu tiên. Ít nhất đó là cách xterm và VTE (Gnome Terminal, v.v.) hoạt động.
Ảnh chụp màn hình này cho thấy khoảng một nửa sản lượng:
curl -s -L https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 | bash
Có lẽ không cần thiết nhưng tôi đã viết một phiên bản in 256 màu bằng cách sử dụng nền phát hiện độ rộng vỏ tự động để màu sắc dễ nhìn thấy hơn.
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
vào irssi ( nguồn )