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

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
Test d'égalité entre deux chaînes
Suivant
Correspondance d'une variable par rapport à un modèle