Sommaire

Test d’égalité entre deux chaînes

Objectif

Tester si une variable est strictement égale à une valeur.

Exemple

La variable choix a-t-elle pour valeur "oui" ?

Première méthode (ksh, bash)

Utilisation de la commande de test [[ ]] :

$  [[ $choix = oui ]]  && echo ’$choix vaut oui’

(cf. Les bases de la programmation shell - Exécution de tests)

Deuxième méthode

Utilisation de la commande de test [ ] :

$ [ "$choix" = oui ]  && echo ’$choix vaut oui’

Contrairement à la commande [[ ]], la commande [ ] provoque une erreur si l’expression $choix est vide et non placée entre guillemets (les guillemets n’empêchant pas la substitution de la variable).

(cf. Les bases de la programmation shell - Exécution de tests)

Troisième méthode

Utilisation de la structure de contrôle case :

$ case $choix in  
> oui) echo ’$choix vaut oui’ ;; 
> *) ...
> esac

(cf. chapitre Les bases de la programmation shell - Les structures de contrôle)

Quatrième méthode

Utilisation de la commande expr et d’une expression régulière :

$ expr $choix : ’oui$’ >/dev/null  && echo ’$choix vaut oui’

Avec expr, le caractère ˆ est implicite au niveau de l’expression régulière (équivalent à ’ˆoui$’).

(cf. chapitre Les expressions régulières - Exploitation ...