109 votes

script pour afficher toutes les couleurs du terminal

A travers l'internet, j'ai vu beaucoup de gens avec des scripts qui impriment un tas de choses dans toutes les couleurs définies dans ~/.Xdefaults . Cependant, quand j'essaie de les utiliser, j'obtiens toujours error: Bad Substitution . Est-ce que quelqu'un a un script fonctionnel qui fait la même chose ?

Cela devrait ressembler à quelque chose comme ça : enter image description here

115voto

oktay Points 1294

Voici ma solution avec Bash uniquement :

for x in {0..8}; do 
    for i in {30..37}; do 
        for a in {40..47}; do 
            echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "
        done
        echo
    done
done
echo ""

Un seul mot :

for x in {0..8}; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo ""

Voici une image dans Cygwin :

Cygwin screenshot

78voto

Jacek Trociński Points 889

Une simple phrase qui devrait convenir à la plupart des gens.

msgcat --color=test

62voto

kiri Points 25860

Vous pouvez également utiliser le colortest Install colortest paquet.

  1. Installez-le avec cette commande :

    sudo apt-get install colortest
  2. Il fournit plusieurs commandes que vous pouvez utiliser, en fonction du nombre de couleurs que vous souhaitez :

    colortest-16   colortest-16b  colortest-256  colortest-8

Exemple de sortie de colortest-16b :

enter image description here

36voto

andybee Points 497

Voici ma version :

#!/usr/bin/env python
import sys
terse = "-t" in sys.argv[1:] or "--terse" in sys.argv[1:]
write = sys.stdout.write
for 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")

Cette impression tout . Si vous voulez un tableau agréable (qui n'affiche que les styles (0) et (1), normal et gras), vous pouvez utiliser la fonction -t o --terse argument :

Le style "blink" (5) ne fonctionne pas avec gnome-terminal. ;-)


Si cela ne fonctionne pas pour vous, c'est qu'il y a un problème. Faites-le nous savoir une fois que vous l'aurez testé.

11voto

Eliran Malka Points 1185

J'ai fait un petit script pour cela :)

Voici la partie importante :

colors=$@
for (( n=0; n < $colors; n++ )) do
    printf " [%d] $(tput setaf $n)%s$(tput sgr0)" $n "wMwMwMwMwMwMw
"
done

vous lui passez un nombre n et il crache n des lignes colorées avec l'indice ansi de chaque couleur (vous pouvez l'utiliser en $(tput setaf <ansi-index>) ).

Voici une capture d'écran de la sortie (partielle) :

ansi-colors

J'ai aussi celui-ci que j'ai forgé (et légèrement modifié) à partir de twerth :

#!/usr/bin/env bash

echo -e "\033[0mNC (No color)"
echo -e "\033[1;37mWHITE\t\033[0;30mBLACK"
echo -e "\033[0;34mBLUE\t\033[1;34mLIGHT_BLUE"
echo -e "\033[0;32mGREEN\t\033[1;32mLIGHT_GREEN"
echo -e "\033[0;36mCYAN\t\033[1;36mLIGHT_CYAN"
echo -e "\033[0;31mRED\t\033[1;31mLIGHT_RED"
echo -e "\033[0;35mPURPLE\t\033[1;35mLIGHT_PURPLE"
echo -e "\033[0;33mYELLOW\t\033[1;33mLIGHT_YELLOW"
echo -e "\033[1;30mGRAY\t\033[0;37mLIGHT_GRAY"

qui, dans mon thème actuel, montre :

terminal puts out (it's colors)!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X