Comment comparer les nombres en bash?

Comment comparer les nombres en bash?
Vous avez appris les nombreuses opérations de comparaison qui peuvent être utilisées pour contraster les variables dans le bash. Mais parfois, vous pourriez affronter de nombreuses situations dans lesquelles vous devez développer des scripts pour effectuer des tâches spécifiques et exécuter le script plusieurs fois en fonction de valeurs entières spécifiques en bash. Dans ces situations, nous pouvons utiliser les opérateurs bash pour faire des comparaisons de nombres entiers.

Différentes façons de comparer les variables entières dans les scripts bash:

Pour la comparaison des numéros entiers, nous utiliserons deux des opérateurs importants de Bash pour obtenir les comparaisons qui sont carrées et doubles.

Way 01: Orceau carré unique

Les accolades carrées «[]» sont également appelées accolades carrées simples pour tester la commande en script bash. Incluons quelques exemples qui démontrent l'idée de script bash sur Linux, afin que nous puissions rapidement mettre en œuvre les différents opérateurs de Bash. Voici quelques exemples d'utilisation de différents opérateurs en orthèse carrée unique.

Exemple 01: utilisation des opérateurs «-eq» et «-ne»

Prenons en pratique l'opérateur «-eq», qui détermine si plusieurs variables sont équivalentes dans les scripts bash comme démonstration initiale d'un opérateur de comparaison. Pour commencer à mettre l'exemple en pratique, nous devons d'abord créer un fichier de script bash en utilisant le mot-clé «Touch» dans le nom du fichier et en ajoutant l'extension «sh». L'ensemble de la commande de création de fichiers est le suivant:

Linux @ Linux-VirtualBox: ~ $ Touch Comparez.shot

Lorsque la commande susmentionnée est entrée, un fichier appelé «Comparez.sh ”sera produit. Pour que nous puissions mettre le code en action, nous voulons alors entrer dans l'éditeur «Nano». Pour ce faire, nous ajouterons le «comparer.SH ”Commande après le mot-clé« Nano »comme indiqué ci-dessous:

Linux @ Linux-VirtualBox: ~ $ nano compare.shot

L'éditeur Nano sera lancé après l'entrée. Pour que nous puissions comparer les deux numéros entiers, nous devons écrire le code nécessaire dans cette section.

1: Égal à l'opérateur «-eq»

Nous avons utilisé deux variables dans ce code appelé «variable1» et «variable2» et nous avons utilisé le mot-clé «lecture» qui obtiendra respectivement les valeurs de ces variables de l'utilisateur sur le temps d'exécution,. L'instruction «IF» a ensuite été utilisée pour déterminer si les nombres entiers sont égaux.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -eq $ variable2];
alors
Echo "Les deux variables entières d'entrée sont égales…"
autre
Echo "Les deux variables entières d'entrée ne sont pas égales…"
Fi

Pour fermer l'éditeur Nano après avoir terminé la rédaction du programme, tapez «Ctrl + X.«Ensuite, nous sommes revenus à nouveau sur le terminal Linux principal. Écrivez «bash» et le nom du fichier pour exécuter le code.

Linux @ Linux-VirtualBox: ~ $ BASH comparer.shot

Le résultat de l'exécution du code ci-dessus est vu ici:

Entrez une variable entière d'entrée 1:
100
Entrez une variable entière d'entrée2:
100
Les deux variables entières d'entrée sont égales…

2: pas égal à l'opérateur «-ne»

Maintenant, nous utiliserons l'opérateur de comparaison «-ne» qui signifie «pas égal à». Grâce à cet opérateur, nous vérifierons que «variable1» n'est pas égal à «variable2» dans le script bash. Pour cela, nous avons apporté quelques modifications dans le même fichier ci-dessus qui est «comparer. sh ”. Dans le code modifié, nous venons de modifier les valeurs et l'opérateur «-eq» avec «-ne» comme indiqué ci-dessous:

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -ne $ variable2];
alors
Echo "Les deux variables entières d'entrée ne sont pas égales…"
autre
Echo "Les deux variables entières d'entrée sont égales…"
Fi

Voici la sortie souhaitée indiquée dans l'image ci-dessous:

Entrez une variable entière d'entrée 1:
50
Entrez une variable entière d'entrée2:
100
Les deux variables entières d'entrée ne sont pas égales…

Exemple 02: Utilisation des opérateurs «-gt» et «-lt»

Ceci est une autre illustration de la façon d'utiliser les opérateurs de comparaison «-gt» et «-lt» dans le code. Nous évaluerons si «variable1» est supérieur ou inférieur à «variable2» dans l'instance.

1: supérieur à l'opérateur «-gt»

Premièrement, nous déterminons si la variable 1 dépasse ou ne dépasse pas la variable 2. L'extrait de code qui montre comment l'opérateur «-gt» est implémenté est illustré ci-dessous.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -gt $ variable2];
alors
Echo «La variable1 est supérieure à la variable2…»
autre
Echo "La variable1 n'est pas supérieure à la variable2…"
Fi

Lorsque nous avons exécuté le script, le résultat a montré que "variable1" était supérieur à "variable2".

Entrez une variable entière d'entrée 1:
98
Entrez une variable entière d'entrée2:
96
La variable1 est supérieure à la variable2…

2: inférieur à l'opérateur «-lt»

Maintenant, en utilisant l'opérateur "-lt" dans les scripts bash, nous déterminerons si "variable1" est inférieur à "variable2" ou non.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -lt $ variable2];
alors
Echo «La variable1 est inférieure à la variable2…»
autre
Echo "La variable1 n'est pas inférieure à la variable2…"
Fi

Considérez les résultats de l'exemple donné ci-dessus:

Entrez une variable entière d'entrée 1:
96
Entrez une variable entière d'entrée2:
98
La variable1 est inférieure à la variable2…

Exemple 03: Utilisation de l'opérateur «-ge» et «-le»

Dans cet exemple, nous vérifierons si Variable1 est supérieur ou inférieur à la variable2 et s'il peut être égal ou non égal à la variable2.

1: supérieur ou égal à l'opérateur «-ge»:

Nous allons utiliser l'opérateur «-ge» pour vérifier si la «variable1» contient une valeur plus grande ou une valeur égalisée à la «variable2».

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -ge $ variable2];
alors
Echo «La variable1 est supérieure ou égale à la variable2…»
autre
Echo "La variable1 n'est pas supérieure ou non égale à la variable2…"
Fi

En écrivant le «Bash Comparez.sh ”, nous avons la sortie souhaitée:

Entrez une variable entière d'entrée 1:
25
Entrez une variable entière d'entrée2:
24
La variable1 est supérieure ou égale à la variable2…

2: inférieur ou égal à l'opérateur «-le»

Maintenant, nous utiliserons l'opérateur «-le» dans le code existant afin que nous puissions vérifier si la valeur de «variable1» est inférieure ou égale à la valeur «variable2».

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
si [$ variable1 -le $ variable2];
alors
Echo «La variable1 est inférieure ou égale à la variable2…»
autre
Echo "La variable1 n'est pas inférieure ou non à la variable2…"
Fi

Regardez la sortie dans le terminal Linux:

Entrez une variable entière d'entrée 1:
11
Entrez une variable entière d'entrée2:
11
La variable1 est inférieure ou égale à la variable2…

Way 02: Double Square Braces

Les doublées «[]]» font le même travail que les accolades carrées simples en bash. Mais en retour, le bash ne renverra rien sauf 0 si la condition est vraie et retourne 1 si la condition est fausse. Maintenant, nous allons implémenter différents exemples de la deuxième façon d'utiliser l'opérateur de comparaison dans les scripts bash.

Exemple 01: utilisation de () opérateur

Ce qui suit est une situation spécifiée d'un double contreventement carré dans lequel nous appliquerons le «>» et «<” indicators to determine if the value of “variable1” is greater than or less than the “variable2” parameter. First, we have created an entirely new file for the double square brackets technique for that:

Linux @ Linux-VirtualBox: ~ $ touch double.shot

Nous avons utilisé la commande nano pour entrer l'éditeur Nano:

Linux @ Linux-VirtualBox: ~ $ nano double.shot

Notre éditeur actuel est l'éditeur Nano. Commençons par écrire du code:

1: moins que «<” Operator

Voici l'exemple de moins que, où nous avons deux variables, et nous obtiendrons les valeurs de l'utilisateur afin que nous ayons utilisé «lire». Ensuite, nous effectuerons l'opération moins que sur ces variables.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
if (($ variable1 < $variable2 ));
alors
écho "la condition est vraie"
Echo "Retour 0"
autre
écho "la condition est fausse"
Echo "Retour 1"
Fi

Pour compiler le script, nous avons utilisé la commande «bash» avec le nom de fichier:

Linux @ Linux-VirtualBox: ~ $ bash double.shot

Voici la sortie:

Entrez une variable entière d'entrée 1:
76
Entrez une variable entière d'entrée2:
102
La condition est vraie
Retour 0

2: supérieur à l'opérateur «>»

Maintenant, nous utiliserons le prochain opérateur, le symbole «>», pour déterminer si la valeur «variable1» est supérieure ou non. Comme vous pouvez le voir, dans ce cas:

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
if (($ variable1> $ variable2));
alors
écho "la condition est vraie"
Echo "Retour 0"
autre
écho "la condition est fausse"
Echo "Retour 1"
Fi

Après l'exécution du script dans le terminal Linux, nous avons obtenu cette sortie:

Entrez une variable entière d'entrée 1:
27
Entrez une variable entière d'entrée2:
22
La condition est vraie
Retour 0

Exemple 02: Utilisation des opérateurs (=)

Maintenant que le deuxième exemple a été implémenté, nous pouvons utiliser l'opérateur de script bash «> =» pour déterminer si la valeur de la variable1 est inférieure ou égale à la valeur de la variable2.

1: inférieur ou égal à "<=” Operator

Dans ce cas, nous vérifierons la valeur moins ou égale dans ces variables et imprimerons la sortie.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
if (($ variable1 <= $variable2 ));
alors
écho "la condition est vraie"
Echo "Retour 0"
autre
écho "la condition est fausse"
Echo "Retour 1"
Fi

Le résultat de la démonstration susmentionnée est affiché dans la capture d'écran ci-dessous:

Entrez une variable entière d'entrée 1:
65
Entrez une variable entière d'entrée2:
65
La condition est vraie
Retour 0

2: supérieur ou égal à l'opérateur «> =»

Dans l'exemple ci-dessous, l'opérateur «> =» du script bash est utilisé pour vérifier si «d1» et «d2» ont des valeurs plus grandes ou égales.

Echo "Entrez une variable entière d'entrée 1:"
lire variable1
Echo "Entrez une variable entière d'entrée2:"
lire variable2
if (($ variable1> = $ variable2));
alors
écho "la condition est vraie"
Echo "Retour 0"
autre
écho "la condition est fausse"
Echo "Retour 1"
Fi

Après les résultats prévus de l'exemple:

Entrez une variable entière d'entrée 1:
44
Entrez une variable entière d'entrée2:
44
La condition est vraie
Retour 0

Conclusion

Nous avons appris à utiliser le script bash pour comparer les numéros entiers. De plus, nous avons couvert comment utiliser plusieurs opérateurs dans un script bash. Avec des explications approfondies, nous avons construit de nombreux exemples de ces opérateurs dans les scripts bash.