Test d’égalité entre deux chaînes Test:sur les chaînes de caractères

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...

Pour consulter la suite, découvrez le livre suivant :
couv_EI6PRO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Tester le code retour d'une commande
Suivant
Test d'inégalité entre deux chaînes