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 -aqE '^oui$' && 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 de programmation...

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Test d'égalité entre deux chaînes
Suivant
Correspondance d'une variable par rapport à un modèle