Guide du débutant à BASH - Comparer des choses
Dans la partie précédente du didacticiel BASH, nous avons examiné les instructions conditionnelles.
Ce guide était très long mais ne montrait vraiment que comment contrôler le flux de la logique. Ce guide présente les différentes manières de comparer des variables.
L'image ci-dessus montre le premier exemple du guide de cette semaine:
#! / bin / bashname1 = "gary"name2 = "bob"if "$ name1" = "$ name2"puis echo "les noms correspondent"autre echo "les noms ne correspondent pas"FiDans le script ci-dessus, j'ai défini deux variables nommées name1 et name2 et leur ai attribué les valeurs "gary" et "bob". Comme les variables sont contenues entre guillemets, elles sont appelées variables chaîne, ce qui devient d'autant plus pertinent que le didacticiel se poursuit. Le script ne fait que comparer les valeurs de $ name1 et $ name2 et si elles correspondent, indiquez la chaîne "les noms correspondent" et, s'ils ne génèrent pas la chaîne "les noms ne correspondent pas". Les guillemets autour des variables $ name1 et $ name2 sont importants car si la valeur de l’un d’eux n’a pas été définie, le script fonctionnera toujours. Par exemple, si $ name1 n'a jamais été défini, vous compareriez "" avec "bob". Sans les guillemets, vous seriez laissé avec = "bob", ce qui échoue clairement. Vous pouvez également utiliser la notation! = Pour définir différent de: Dans l'exemple ci-dessus, le test compare les deux mêmes chaînes et pose la question suivante: est-ce que Gary vient avant Bob dans l'alphabet? Clairement la réponse est non. Le script introduit l'opérateur inférieur à (<). Étant donné que l'opérateur inférieur à est également utilisé pour la redirection, vous devez l'échapper avec une barre oblique () pour qu'il signifie moins que ce qui explique pourquoi, dans le script ci-dessus, j'ai comparé "$ name1" <"$ name2". Le contraire de moins que est évidemment supérieur à. Au lieu d'utiliser <use >. Par exemple Si vous voulez tester si une variable a une valeur, vous pouvez utiliser le test suivant: Dans le script ci-dessus, j'ai testé si $ name2 avait reçu une valeur et si ce n'était pas le message "Il n'y a pas de bob, il n'y a jamais eu de bob qui apparaît". Sur la diapositive précédente, nous avons indiqué si une variable avait été définie ou non. Parfois, une variable a peut-être été définie mais peut ne pas avoir de valeur. Par exemple: Pour tester si une variable a une valeur ou non (c'est-à-dire une longueur de zéro), utilisez -z comme suit: Dans le script ci-dessus, j'ai défini $ name1 sur une chaîne de longueur zéro, puis je l'ai comparé à l'aide de -z. Si $ name1 a une longueur nulle, le message "Gary est sorti pour la soirée" sera affiché. Jusqu'ici toutes les comparaisons ont été faites pour des chaînes. Qu'en est-il de comparer des chiffres? Le script ci-dessus montre un exemple de comparaison de deux nombres: Pour définir une variable comme un nombre, définissez-la simplement sans guillemets. Vous pouvez ensuite comparer les nombres avec un signe égal. Je préfère toutefois utiliser l'opérateur suivant pour comparer deux nombres: Si vous souhaitez comparer si un nombre est inférieur à un autre, vous pouvez utiliser l'opérateur inférieur à (<). Comme avec les chaînes, vous devez échapper à l'opérateur inférieur à avec une barre oblique. ( <). Une meilleure façon de comparer des nombres consiste à utiliser la notation suivante: Par exemple: Enfin, pour ce guide, si vous souhaitez vérifier si deux nombres sont différents, vous pouvez utiliser les opérateurs inférieur et supérieur ensemble (<>) ou -ne comme suit: Si vous avez manqué les trois premières parties de ce guide, vous pouvez les trouver en cliquant sur les liens suivants: Dans la prochaine partie du guide, je traiterai de l'arithmétique. Guide du débutant à BASH - Comparaison de chaînes
Guide du débutant à BASH - Comparaison de chaînes
Guide du débutant à BASH - Comparaison de chaînes
Guide du débutant à BASH - Comparaison de nombres
Guide du débutant à BASH - Comparaison de nombres
Guide du débutant à BASH - Comparaison de nombres
Guide du débutant vers BASH - Opérateurs de comparaison - Résumé