Fonction case

Fermé
callehabana2 Messages postés 3 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 16 janvier 2013 - 16 janv. 2013 à 14:46
 Utilisateur anonyme - 16 janv. 2013 à 15:20
Bonjour,





Bonjour à tous et à toutes,

Je dois réaliser une fonction case qui change de couleur un triplet RGB en comparant plusieurs chaînes de caractères.

function ChangeCouleur {
case $(echo $ligne | cut -f3 -d ' ') in
histoire )
Rgb=0.7
rGb=0.3
rgB=0
;;
maths )
Rgb=1
rGb=1
rgB=0
;;
sport )
Rgb=0
rGb=1
rgB=1
;;
burgonde )
Rgb=1
rGb=0.5
rgB=0
;;
physique )
Rgb=1
rGb=0
rgB=0
;;
TPE )
Rgb=1
rGb=0
rgB=1
;;
DS )
Rgb=0
rGb=1
rgB=0
;;
accueil )
Rgb=0
rGb=1
rgB=1
;;
* )
Rgb=1
rGb=0
rgB=1
;;
esac

}

Le fichier .txt sur lequel le "cut" est effectué est de la forme :

A 1 1 lun mat1 accueil
B 1 1 lun mat1 accueil
A 1 15 lun mat2 physique
A 1 6 lun apr1 burgonde
A 1 15 mar mat1 sport
A 2 15 mar apr1 maths

En gros, je prend la derniere ligne et la compare, si elle est dans un des cas le couple rgb prendra la valeur choisie. Cette fonction ne marche pas et c'est le *) qui envoie toujours les valeurs.

Pouvez-vous m'indquer où l'erreur se trouve ?

1 réponse

Utilisateur anonyme
16 janv. 2013 à 15:20
salut,

Le troisième champ du fichier est un nombre.
Apparemment, tu veux tester le dernier (le sixième).
0