Как создать testcolor.sh как следующий снимок экрана?

Самый легкий метод, о котором я могу думать, должен сделать a ~/bin каталог в Вашем $HOME, добавьте символьную ссылку ~/bin/gcc кому: /usr/bin/gcc-4.4 или везде, где Ваш gcc-4.4 расположен, и удостовериться ~/bin в начале Вашего $PATH как это:

export PATH=~/bin:$PATH
23
26.06.2012, 02:24
8 ответов

установите пакет, названный как:

colortest

и любите окрашивать путем выполнения двоичных файлов как colortest-8 colortest-16 colortest-16b и так далее

25
27.01.2020, 19:41
  • 1
    Этот ответ, вероятно, относится к пакету в определенном дистрибутиве Linux. Где источники доступны для других разновидностей Unix? –  raimue 23.11.2012, 21:52
  • 2
    в debian/ubuntu: склонный - получают colortest –  r03 06.08.2014, 21:47
  • 3
    Там также colortest-256 включенный. –  shrx 05.04.2016, 12:24

Escape-последовательность ESC [ SPEC1 ; … m изменяет текстовые атрибуты (цвет, полужирный, и т.д.) впоследствии записанных символов. Это - одна из escape-последовательностей терминала ANSI. Каждый SPEC может быть одно из следующих (список не является исчерпывающим):

  • 0 для переключения на цвета по умолчанию.
  • 1 для включения полужирного шрифта.
  • 30 - 37 для выбирания основного цвета (черный, красный, зеленый, желтый, синий, пурпурный, голубой, серый).
  • 40 - 47 для выбирания цвета фона (тот же список).

Вот отрывок оболочки, что выводы почти, что Вы отправили.

printf "          "
for b in 0 1 2 3 4 5 6 7; do printf "  4${b}m "; done
echo
for f in "" 30 31 32 33 34 35 36 37; do
    for s in "" "1;"; do
        printf "%4sm" "${s}${f}"
        printf " \033[%sm%s\033[0m" "$s$f" "gYw "
        for b in 0 1 2 3 4 5 6 7; do
            printf " \033[4%s;%sm%s\033[0m" "$b" "$s$f" " gYw "
        done
        echo
     done
done
17
27.01.2020, 19:41
  • 1
    colortest хорош, но этот ответ дает точно, что попросил исходный автор вопроса. также хорошо видеть цветовые коды на экране. сохраняет взгляды об этом. –  pdwalker 03.08.2017, 09:27

Существует несколько изменений, хорошо шесть, чтобы быть точными, перечисленными на странице Arch Wiki Xresouces.

А также тот, который используется в Вашем снимке экрана, существует некоторые более изобретательные — моим фаворитом которого является от форумов Crunchbang и функций Space Invaders:

#!/bin/bash
#
# ANSI color scheme script featuring Space Invaders
#
# Original: http://crunchbanglinux.org/forums/post/126921/#p126921
# Modified by lolilolicon
#

f=3 b=4
for j in f b; do
  for i in {0..7}; do
    printf -v $j$i %b "\e[${!j}${i}m"
  done
done
bld=$'\e[1m'
rst=$'\e[0m'

cat << EOF

 $f1  ▀▄   ▄▀     $f2 ▄▄▄████▄▄▄    $f3  ▄██▄     $f4  ▀▄   ▄▀     $f5 ▄▄▄████▄▄▄    $f6  ▄██▄  $rst
 $f1 ▄█▀███▀█▄    $f2███▀▀██▀▀███   $f3▄█▀██▀█▄   $f4 ▄█▀███▀█▄    $f5███▀▀██▀▀███   $f6▄█▀██▀█▄$rst
 $f1█▀███████▀█   $f2▀▀███▀▀███▀▀   $f3▀█▀██▀█▀   $f4█▀███████▀█   $f5▀▀███▀▀███▀▀   $f6▀█▀██▀█▀$rst
 $f1▀ ▀▄▄ ▄▄▀ ▀   $f2 ▀█▄ ▀▀ ▄█▀    $f3▀▄    ▄▀   $f4▀ ▀▄▄ ▄▄▀ ▀   $f5 ▀█▄ ▀▀ ▄█▀    $f6▀▄    ▄▀$rst

 $bld$f1▄ ▀▄   ▄▀ ▄   $f2 ▄▄▄████▄▄▄    $f3  ▄██▄     $f4▄ ▀▄   ▄▀ ▄   $f5 ▄▄▄████▄▄▄    $f6  ▄██▄  $rst
 $bld$f1█▄█▀███▀█▄█   $f2███▀▀██▀▀███   $f3▄█▀██▀█▄   $f4█▄█▀███▀█▄█   $f5███▀▀██▀▀███   $f6▄█▀██▀█▄$rst
 $bld$f1▀█████████▀   $f2▀▀▀██▀▀██▀▀▀   $f3▀▀█▀▀█▀▀   $f4▀█████████▀   $f5▀▀▀██▀▀██▀▀▀   $f6▀▀█▀▀█▀▀$rst
 $bld$f1 ▄▀     ▀▄    $f2▄▄▀▀ ▀▀ ▀▀▄▄   $f3▄▀▄▀▀▄▀▄   $f4 ▄▀     ▀▄    $f5▄▄▀▀ ▀▀ ▀▀▄▄   $f6▄▀▄▀▀▄▀▄$rst


                                     $f7▌$rst

                                   $f7▌$rst

                              $f7    ▄█▄    $rst
                              $f7▄█████████▄$rst
                              $f7▀▀▀▀▀▀▀▀▀▀▀$rst

EOF

spacey

8
27.01.2020, 19:41
  • 1
    , мне нравится это число, но SHW предоставил точный сценарий, я выберу его ответ; Достаточно ярмарка-P –  daisy 29.06.2012, 04:55
  • 2
    : страница Wiki, с которой я связался также, включает сценарий в Ваш снимок экрана; я просто думаю, что это - более интересный способ отобразить X :) –  jasonwryan 29.06.2012, 05:10
echo -e "\n\033[4;31mLight Colors\033[0m \t\t\t  \033[1;4;31mDark Colors\033[0m"
echo -e " \e[0;30;47m Black     \e[0m   0;30m \t\t \e[1;30;40m Dark Gray   \e[0m  1;30m"
echo -e " \e[0;31;47m Red       \e[0m   0;31m \t\t \e[1;31;40m Dark Red    \e[0m  1;31m"
echo -e " \e[0;32;47m Green     \e[0m   0;32m \t\t \e[1;32;40m Dark Green  \e[0m  1;32m"
echo -e " \e[0;33;47m Brown     \e[0m   0;33m \t\t \e[1;33;40m Yellow      \e[0m  1;33m"
echo -e " \e[0;34;47m Blue      \e[0m   0;34m \t\t \e[1;34;40m Dark Blue   \e[0m  1;34m"
echo -e " \e[0;35;47m Magenta   \e[0m   0;35m \t\t \e[1;35;40m Dark Magenta\e[0m  1;35m"
echo -e " \e[0;36;47m Cyan      \e[0m   0;36m \t\t \e[1;36;40m Dark Cyan   \e[0m  1;36m"
echo -e " \e[0;37;47m Light Gray\e[0m   0;37m \t\t \e[1;37;40m White       \e[0m  1;37m"

и так далее.

6
27.01.2020, 19:41

Этот скрипт , кажется, изготовил картину.

1
27.01.2020, 19:41

Я не уверен, что это точный ответ, но на http://linuxcommand.org/lc3_adv_tput.php я нашел несколько функций, тестирующих tput для раскрашивания BASH.

#!/bin/bash

echo "tput colors test"
echo "================"
echo
echo "tput setaf/setab [0-9] ... tput sgr0"
echo

for fg_color in {0..7}; do
  set_foreground=$(tput setaf $fg_color)
  for bg_color in {0..7}; do
    set_background=$(tput setab $bg_color)
    echo -n $set_background$set_foreground
    printf ' F:%s B:%s ' $fg_color $bg_color
  done
  echo $(tput sgr0)
done

echo
echo "END"
echo
exit
0
27.01.2020, 19:41

Хотя воспроизвести это несложно, скорее всего, ваш снимок экрана был сделан с tldp.org ; внизу этой страницы находится сценарий, выводящий таблицу, которую вы видите:

Чтобы помочь себе запомнить, какие цвета доступны, я написал сценарий, выводящий все цвета на экран. Дэниел Крисман предоставил гораздо лучшую версию, которую я включаю ниже:

 #! / Bin / bash 
 # 
 # Этот файл повторяет набор цветовых кодов для 
 # терминал, чтобы продемонстрировать, что доступно. Каждая строка 
 # - это цветовой код одного цвета фона, 
 # из 17 (по умолчанию + 16 переходов), за которым следует 
 # тестовое использование этого цвета на всех девяти background 
 # цветов (по умолчанию + 8 переходов). 
 # 
 
T = 'gYw' # Тестовый текст 
 
echo -e "\ n 40m 41m 42m 43m \ 
44m 45m 46m 47m"; 
 
для FG в 'm' '1m' 30m '' 1; 30m '' 31 м '' 1; 31 м '' 32 м '\ 
' 1; 32 м '' 33 м '' 1; 33 м '34 м' '1; 34 м' '35 м' '1; 35 м' \ {1} } '36m' '1; 36m' '37m' '1; 37m'; 
do FG = $ {FGs // /} 
echo -en "$ FGs \ 033 [$ FG $ T "
для BG в 40м 41м 42м 43м 44м 45м 46м 47м; 
do echo -en" $ EINS \ 033 [$ FG \ 033 [$ BG $ T \ 033 [0m "; { {1}} готово 
echo; 
готово 
echo 
 

В библиотеке F-ANSI :

ANSI color table generated by F-ANSI

8
27.01.2020, 19:41
cat "$0" 1>&2;
#
# = Coloring test utility =
#
# [
# |*| Source: https://unix.stackexchange.com/a/643536
# |*| Source (original): https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
# |*| Last update: CE 2021-08-18 06:29 UTC ]
#
#
# [ Caveat:
#
# The description below has insufficient coverage on the subject. (and part of which may be outright misleading)
#
# Check # References for a complete view. ]
#
#
# This script shall echo a bunch of color codes: demonstrating the coloring compatibility of the shell / terminal.
#
# Each output line of interest would consist of:
# |*| The literal color code itself: of 1 foreground (font) color, out of the 17 (default + 16 escapes).
# |*| Followed by its testcase: with all of the 9 background colors (default + 8 escapes).
#
#
#
#
# == Implementation ==
#
# Testcase text:
    text='gYw';

    echo -e '\n         [m     [40m    [41m    [42m    [43m    [44m    [45m    [46m    [47m';

    for FGs in \
    '  [0;m' \
    '[1;37m' \
    '[0;30m' \
    '[1;30m' \
    '[0;31m' \
    '[1;31m' \
    '[0;32m' \
    '[1;32m' \
    '[0;33m' \
    '[1;33m' \
    '[0;34m' \
    '[1;34m' \
    '[0;35m' \
    '[1;35m' \
    '[0;36m' \
    '[1;36m' \
    '[0;37m';

    do {
    FG="${FGs//[[:space:]]/""}";
    echo -nE "$FGs ";
    echo -ne '\e'$FG;
    echo -nE "  $text  ";

    for BG in \
    '[40m' '[41m' '[42m' '[43m' '[44m' '[45m' '[46m' '[47m';

    do
    echo -nE ' ';
    echo -ne '\e'$FG'\e'$BG; # [Note 1]
    echo -nE "  $text  ";
    echo -ne '\e[m'; # [Note 2]

    done;

    echo;
    };

    done;

    unset text FGs FG BG;
    echo;
#
#
#
#
# == Notes & References ==
#
#
# === Notes ===
#
# [Note 1]
# [
# Note the order may not be inverted: setting the foreground color ("$FG") may reset the background color ("$BG").
#
# Check ANSI escape sequence # CSI [1], and [ https://misc.flogisoft.com/bash/tip_colors_and_formatting#attributes_combination ] [3] for details. ]
#
#
# [Note 2]
# [
# There are also some other formatting codes not included in the table but may be used to alter the text's appearance:
#
# |*| '\e[1m': Bold
# |*| '\e[2m': Dim
# |*| '\e[4m': Underlined
# |*| '\e[5m': Blink
# |*| '\e[7m': Inverse color
# |*| '\e[8m': Hidden
# |*| '\e[9m': Strikethrough ]
#
#
# === References ===
#
# [1]
# [
# |*| ANSI escape sequence ## CSI; SGR; Examples:
# [
# |*| https://en.wikipedia.org/wiki/ANSI_escape_code#CSI
# |*| https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
# |*| https://en.wikipedia.org/wiki/ANSI_escape_code#Examples ] ]
#
#
# [2]
# [
# |*| Unix formatting code (Google Search): https://www.google.com/search?hl=en&gl=us&q=Unix+formatting%7Ccolor+code ]
#
#
# [3]
# [
# |*| Colors and formatting (ANSI/VT100 Control sequences): https://misc.flogisoft.com/bash/tip_colors_and_formatting ]
#
#
#
#
# == See also ==
#
# |*| 256-color test: https://unix.stackexchange.com/a/643715
#
0
05.04.2021, 02:44

Теги

Похожие вопросы