По всему Интернету я видел много людей со скриптами, которые печатают кучу вещей во всех цветах, определенных в ~/.Xdefaults. Однако, когда я пытаюсь их использовать, я всегда получаю error: Bad Substitution. Есть ли у кого-нибудь работающий скрипт, который делает то же самое?
В конечном итоге это должно выглядеть примерно так:
#!/usr/bin/env pythonimport systerse = "-t" in sys.argv[1:] or "--terse" in sys.argv[1:]write = sys.stdout.writefor i in range(2 if terse else 10): for j in range(30, 38): for k in range(40, 48): if terse: write("\33[%d;%d;%dm%d;%d;%d\33[m " % (i, j, k, i, j, k)) else: write("%d;%d;%d: \33[%d;%d;%dm Hello, World! \33[m \n" % (i, j, k, i, j, k,)) write("\n")
Это печатает всё. Если вам нужна красивая таблица (в которой отображаются только стили (0) и (1), обычный и жирный), вы можете использовать -t или --terse аргумент:
Стиль "мигания" (5) не работает с gnome-terminal. ;-)
Если это не работает для вас, значит, что-то еще не так. Пожалуйста, дайте нам знать, как только вы его протестируете.
colors=$@for (( n=0; n < $colors; n++ )) do printf " [%d] $(tput setaf $n)%s$(tput sgr0)" $n "wMwMwMwMwMwMw"done
вы передаете ему номер n и он выплевывает n цветные линии вместе с индексом ansi каждого цвета (вы можете использовать его в $(tput setaf <ansi-index>)).
вот скриншот (частичного) вывода:
я также получил этот, который я разветвил (и слегка модифицировал) от тверт:
Недавно хотел найти тот сценарий, на который многие люди ссылаются сам. Это из tldp.org Bash Подскажет, КАК ЭТО сделать - http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html Автором сценария является Дэниел Крисман.
Он выводит точно такой же результат, как на картинке из вопроса. Сам сценарий:
#!/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 textecho -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;doneecho
Этот вопрос на самом деле является лучшим результатом, когда я ищу информацию о том, как отображать цветовые коды в терминале. Поэтому я хотел отдать справедливость и дать то, что именно искал ОП. Я действительно помню, что скриншот выглядит несколько знакомым. Сначала я подумал, что это от Гог однако это немного по-другому. Затем я понял, что это точно такой же сценарий, который используется в iTerm2 цвета.
К счастью, они добавили комментарий о том, откуда он изначально взялся от
Я публикую сценарий для справки, взятый из iTerm2 с оригинальными титрами:
#!/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).## Copied from http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.htmlT='gYw' # The test textecho -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;doneecho
Ссылаться https://askubuntu.com/a/396555/41013Это приведет к печати следующих выходных данных в таких форматах, как ЖИРНЫЙ ШРИФТ, ПОДЧЕРКИВАНИЕ, выделение и цвета.
С одним из сценариев, которые не работают, попробуйте изменить первую строку на #! /bin /sh (если это еще не так) и посмотрите, имеет ли это значение (это должно быть что-то похожее)