Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/10/2006, à 16:54

K20

Couleur dans un script shell ?

Bonjour à tous,

Je voudrais mettre un peu de couleur dans l'un de mes script shell quand j'affiche du texte big_smile
Par exemple j'ai ça :

#! /bin/sh

echo "Test 1 : cat d'un fichier" 
./mini-cat.out cat_1

Je voudrais que

Test 1 : cat d'un fichier

soit en vert !

Comment faire ?

Merci d'avance !


Président de l'association PC-Shows : tout sur le tuning PC
Smiliesworld : base de smileys en tout genre !
Dictionnaire des expressions personnelles
Ubuntu 8.10 sur fixe et portable - Ubuntu EEE sur Eee PC 901

Hors ligne

#2 Le 20/10/2006, à 17:00

pabix

Re : Couleur dans un script shell ?

pas évident à faire, pas du tout. Pour les couleurs dans un terminal, ça dépend déjà du jeu de couleurs que tu utilises, alors ça sera pas systématiquement en vert.

Il y a des caractères spéciaux à envoyer au terminal pour afficher de la couleur : en gros :

* le caractère 033 (ESC)
* le caractère [
* Plusieurs options chiffrées séparées par des points virgules
* le caractère m

Mais c'est pas facile, j'ai du mal.

Benoit


Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#3 Le 20/10/2006, à 17:03

pabix

Re : Couleur dans un script shell ?

regarde là : http://abs.traduc.org/abs-4.0-fr/ch33s05.html#id3433068


Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#4 Le 20/10/2006, à 17:08

pabix

Re : Couleur dans un script shell ?

Donc il faut que tu écrives ceci :

echo -e '\033[32mTest1 : cat d'un fichier\033[0m'

Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#5 Le 21/10/2006, à 12:33

kaworu

Re : Couleur dans un script shell ?

Salut !
voilà ma fonction pour la coloration en bash si ça peut te servir :

#!/bin/bash

function cecho {
    while [ "$1" ]; do
        case "$1" in 
            -normal)             color="\033[00m" ;;
            -black)         color="\033[30;01m" ;;
            -red)           color="\033[31;01m" ;;
            -green)         color="\033[32;01m" ;;
            -yellow)        color="\033[33;01m" ;;
            -blue)          color="\033[34;01m" ;;
            -magenta)          color="\033[35;01m" ;;
            -cyan)          color="\033[36;01m" ;;
            -white)          color="\033[37;01m" ;;
            -darkblack)       color="\033[30m" ;;
            -darkred)       color="\033[31m" ;;
            -darkgreen)     color="\033[32m" ;;
            -darkyellow)    color="\033[33m" ;;
            -darkblue)      color="\033[34m" ;;
            -darkmagenta)      color="\033[35m" ;;
            -darkcyan)      color="\033[36m" ;;
            -darkwhite)      color="\033[37m" ;;
            -n)             one_line=1;   shift ; continue ;;
            *)              echo -n "$1"; shift ; continue ;;
        esac

        shift
        echo -en "$color"
        echo -en "$1"
        echo -en "\033[00m"
        shift

    done
    if [ ! $one_line ]; then
        echo
    fi
}

"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#6 Le 21/10/2006, à 15:15

K20

Re : Couleur dans un script shell ?

D'accor,d merci beaucoup wink


Président de l'association PC-Shows : tout sur le tuning PC
Smiliesworld : base de smileys en tout genre !
Dictionnaire des expressions personnelles
Ubuntu 8.10 sur fixe et portable - Ubuntu EEE sur Eee PC 901

Hors ligne