89 votes

Imprimer un motif de test de 256 couleurs dans le terminal

Comment imprimer un motif de test de 256 couleurs dans mon terminal ?

Je veux vérifier que mon terminal supporte correctement les 256 couleurs.

6voto

qeatzy Points 161

Une ligne

couleur de fond

for i in {0..255}; do printf '\e[48;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done

couleur avant-plan

for i in {0..255}; do printf '\e[38;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done

2voto

run_the_race Points 159

J'ai aimé la réponse de @Tom, mais selon le cas d'utilisation, j'aime pouvoir voir du noir et blanc sur la couleur, et la couleur sur du blanc et du noir. J'ai donc modifié un peu pour :

#!/bin/bash

for i in {0..255} ; do
    # Noir FG sur fond couleur
    printf "\e[30;48;5;%sm%4d " "$i" "$i"

    # Blanc FG sur fond couleur
    printf "\e[97m%4d " "$i"

    # Couleur FG sur fond noir
    printf "\e[40;38;5;%sm%4d " "$i" "$i"

    # Couleur FG sur fond blanc
    printf "\e[107m%4d " "$i"

    # Vérifie si une nouvelle ligne doit être ajoutée
    [ $(( ($i +  1) % 4 )) == 0 ] && set1=1 || set1=0
    [ $(( ($i - 15) % 6 )) == 0 ] && set2=1 || set2=0
    if ( (( set1 == 1 )) && (( i <= 15 )) ) || ( (( set2 == 1 )) && (( i > 15 )) ); then
        printf "\e[0m\n";
    fi
done

Ce qui affiche quelque chose comme ceci (premières couleurs affichées): entrer la description de l'image ici

0voto

John Points 171

C'est une vieille question, mais voici un Python 3 / bash one-liner :

python -c "print('\t'.join(f'\u001b[1;38;5;{s}m{s.ljust(4)}' + ('\n' if not int(s) % 8 else '') for s in (str(i) for i in range(256))) + '\u001b[0m')"

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