Comment comparer les chaînes à bash

Comment comparer les chaînes à bash

À des fins de programmation différentes, nous devons comparer la valeur de deux chaînes. Les fonctions intégrées sont utilisées dans de nombreux langages de programmation pour tester l'égalité de deux chaînes. Vous pouvez vérifier l'égalité et l'inégalité de deux chaînes en bash en utilisant si déclaration. "=="Est utilisé pour vérifier l'égalité et"!="Est utilisé pour vérifier l'inégalité des cordes. Vous pouvez comparer partiellement les valeurs de deux chaînes également en bash. Comment vous pouvez comparer les valeurs de chaîne dans Bash est montré en utilisant divers exemples de ce tutoriel.

Exemple-1: Comparaison des chaînes à l'aide des opérateurs «==»

Il n'y a pas de fonction de comparaison intégrée pour vérifier l'égalité de deux valeurs de chaîne dans Bash comme un autre langage de programmation standard. Dans le script suivant, deux variables de chaîne, strval1 et strval2 sont déclarés. Les capitaux propres de ces deux variables de chaîne sont testés en utilisant le premier si déclaration du script. La valeur de strval1 est comparé à une valeur de chaîne pour vérifier l'égalité dans le second si déclaration.

#!/ bac / bash
strval1 = "ubuntu"
strval2 = "windows"
#Check Equality Two String Variables
si [$ strval1 == $ strval2]; alors
écho "les chaînes sont égales"
autre
écho "les chaînes ne sont pas égales"
Fi
#Check l'égalité d'une variable avec une valeur de chaîne
si [$ strval1 == "ubuntu"]; alors
Echo "Système d'exploitation Linux"
autre
Echo "Système d'exploitation Windows"
Fi

Sortir:

La première comparaison n'est pas égale et la deuxième comparaison est égale.

Exemple-2: comparaison de chaînes à l'aide de "!= ”Opérateur

L'inégalité de deux variables de chaîne est vérifiée dans l'exemple suivant. Ici, deux valeurs ne sont pas égales. Donc, si la condition sera vraie et «Système d'exploitation Windows » Will imprimer.

#!/ bac / bash
strval1 = "ubuntu"
strval2 = "windows"
#Check inégalité d'une variable avec une valeur de chaîne
Si [$ strval2 != "Ubuntu"]; alors
Echo "Système d'exploitation Windows"
autre
Echo "Système d'exploitation Linux"
Fi

Sortir:

Exemple-3: comparaison partielle des chaînes

Vous pouvez comparer la valeur partielle en utilisant le caractère du joker dans le script bash. Dans le script suivant, "*" est utilisé comme caractère du joker pour une correspondance partielle. La variable de chaîne, strval contient le mot "L'Internet". Alors, le premier si du script reviendra vrai et imprimera "Correspondre partiellement". Bash est sensible à la casse. Pour cela, le second si du script renverra faux pour l'utilisation de «Internet» comme chaîne partielle qui n'est pas égale par comparaison par lettre.

#!/ bac / bash
strval = "Microsoft Internet Explorer"
si [[$ strval == * Internet *]];
alors
Echo "correspondant partiellement"
autre
écho "pas de match"
Fi
si [[$ strval == * Internet *]];
alors
Echo "correspondant partiellement"
autre
écho "pas de match"
Fi

Sortir:

Exemple-4: Comparez la chaîne avec la valeur d'entrée de l'utilisateur

Parfois, nous devons comparer la valeur de chaîne prise par l'utilisateur avec une valeur de chaîne spécifique à des fins de programmation. Dans l'exemple suivant, des données de chaîne seront tirées de l'utilisateur comme entrée et comparée l'inégalité des données avec une valeur fixe. Si la condition est vraie, elle imprimera "Aucun Enregistrement Trouvé", Sinon, il imprimera "Dossier trouvé".

#!/ bac / bash
Echo "Entrez votre nom"
lire l'entrée
Si [$ entrée != "Fahmida"];
alors
Écho "aucun record trouvé"
autre
Echo "Record trouvé"
Fi

Sortir:

La vidéo de cette leçon est ici:

La tâche de comparaison des chaînes dans Bash sera plus facile pour vous après avoir terminé les exemples ci-dessus avec une compréhension claire.