Come creare un testcolor.sh come il seguente screenshot?


Risposte:


25

installa il pacchetto chiamato come:

ColorTest

e divertiti a colorare eseguendo i binari come colortest-8 colortest-16 colortest-16be così via


3
Questa risposta probabilmente si riferisce al pacchetto in una specifica distribuzione Linux. Dove sono disponibili le fonti per gli altri gusti di Unix?
raimue

in debian / ubuntu: apt-get install colortest
r03

C'Γ¨ anche colortest-256incluso.
Shrx

Esiste una versione di questo per macOS? Non abbiamo apt-get here πŸ™‚
Ben CR Leggiero

17

La sequenza di escape ESC [ SPEC1 ; … mmodifica gli attributi del testo (colore, grassetto, ecc.) Dei caratteri successivamente scritti. Questa Γ¨ una delle sequenze di escape del terminale ANSI . Ciascuno SPECpuΓ² essere uno dei seguenti (l'elenco non Γ¨ esaustivo):

  • 0 per passare ai colori predefiniti.
  • 1 per attivare il grassetto.
  • 30 a 37 per impostare il colore di primo piano (nero, rosso, verde, giallo, blu, magenta, ciano, grigio).
  • 40 a 47 per impostare il colore di sfondo (stesso elenco).

Ecco uno snippet di shell che genera quasi ciΓ² che hai pubblicato.

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

il piΓΉ carino Γ¨ bello, ma questa risposta dΓ  esattamente quello che chiedeva chi lo chiedeva. Γ¨ anche bello vedere i codici colore sullo schermo. salva pensandoci.
pdwalker,

8

Ci sono alcune varianti, ben sei per la precisione, elencate nella pagina Arch Wiki Xresouces .

Oltre a quello utilizzato nel tuo screenshot, ce ne sono alcuni piΓΉ inventivi, il mio preferito Γ¨ dai forum di Crunchbang e presenta invasori spaziali:

#!/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


Mi piace questa figura, ma SHW ha fornito la sceneggiatura esatta, sceglierΓ² la sua risposta ;-P
margherita

1
Abbastanza giusto: la pagina wiki a cui ho collegato include anche lo script nel tuo screenshot; Penso solo che questo sia un modo piΓΉ interessante per visualizzare i colori X :)
jasonwryan,

8

Anche se non è così difficile da replicare, il tuo screenshot probabilmente proviene da tldp.org ; la parte inferiore di quella pagina contiene uno script che genera la tabella che vedi:

Per aiutarmi a ricordare quali colori sono disponibili, ho scritto una sceneggiatura che produceva tutti i colori sullo schermo. Daniel Crisman ha fornito una versione molto piΓΉ bella che includo di seguito:

#!/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 text

echo -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;
done
echo

C'Γ¨ una tabella simile disponibile come demo nella libreria F-ANSI :

Tabella dei colori ANSI generata da F-ANSI


2
Questa Γ¨ la risposta esatta alla domanda.
Wisbucky

6
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"

e così via.



0

Non sono sicuro che questa sia la risposta esatta, ma su http://linuxcommand.org/lc3_adv_tput.php ho trovato diverse funzioni che testano tput per colorare 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.