Sommaire

Test d’inégalité entre deux chaînes

Objectif

Tester si une variable est différente d’une valeur.

Exemple

La variable choix est-elle différente de la valeur "oui" ?

Première méthode (ksh, bash)

Utilisation de la commande de test [[ ]] :

$  [[ $choix != oui ]]  && echo ’$choix est different de oui’

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

Deuxième méthode

Utilisation de la commande de test [ ] :

$ [ "$choix" != oui ]  && echo ’$choix est different de 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. chapitre Les bases de la programmation shell - Exécution de tests)

Troisième méthode

Utilisation de la commande grep avec option de négation -v et d’une expression régulière :

$ echo $choix | grep -vE ’^oui$’ > /dev/null && echo 
’$choix est different de oui’

(cf. chapitre Les expressions régulières - Exploitation des expressions régulières par les commandes)

Quatrième méthode

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

$ echo $choix | awk ’$0  !~ /^oui$/ {print "$choix est different de oui"}’

(cf. chapitre Le langage ...