GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser if-else dans les scripts shell ?

Après notre précédent didacticiel sur les tableaux dans les scripts shell, voyons comment nous pouvons utiliser if-else dans les scripts shell.

La programmation conditionnelle est une partie importante de tout langage de programmation car l'exécution de chaque instruction de notre programme est, le plus souvent, indésirable.

Et nous avons besoin d'un moyen d'exécuter conditionnellement des instructions. Le if-else dans les scripts shell sert cette situation exacte.

Conditions dans les scripts shell

L'une des parties les plus importantes de la programmation conditionnelle est les instructions if-else. Une instruction if-else vous permet d'exécuter des instructions conditionnelles itératives dans votre code.

Nous utilisons if-else dans les scripts shell lorsque nous souhaitons évaluer une condition, puis décidons d'exécuter un ensemble entre deux ou plusieurs ensembles d'instructions en utilisant le résultat.

Cela nous permet essentiellement de choisir une réponse au résultat auquel notre expression conditionnelle est évaluée.

Comment fonctionne if-else dans les scripts shell ?

Nous savons maintenant ce qu'est une fonction if-else et pourquoi est-elle importante pour tout programmeur, quel que soit son domaine. Pour comprendre if-else dans les scripts shell, nous devons décomposer le fonctionnement de la fonction conditionnelle.

Examinons la syntaxe du bloc de condition if-else.

if [condition]
then
   statement1
else
   statement2
fi

Ici, nous avons quatre mots-clés, à savoir if, then, else et fi.

  1. Le mot-clé if est suivi d'une condition .
  2. Cette condition est évalué pour décider quelle instruction sera exécutée par le processeur.
  3. Si la condition vaut VRAI, le processeur exécutera la ou les instructions suivies du mot-clé then . Dans la syntaxe, il est mentionné comme statement1 .
  4. Dans un cas où la condition vaut FALSE, le processeur exécutera la ou les instructions suivies du mot-clé else . Ceci est noté statement2 dans la syntaxe de la fonction.

Une chose importante à garder à l'esprit est que, comme la programmation C, les scripts shell sont sensibles à la casse. Par conséquent, vous devez être prudent lorsque vous utilisez les mots-clés dans votre code.

Comment utiliser if-else dans un script shell

Il est facile de voir la syntaxe d'une fonction et de croire que vous savez comment l'utiliser. Mais il est toujours préférable de comprendre une fonction à l'aide d'exemples, car ils vous aident à comprendre le rôle que jouent les différents aspects d'une fonction.

Voici quelques exemples utiles de if-else dans les scripts shell pour vous donner une meilleure idée de l'utilisation de cet outil.

Commande Description
&& ET logique
|| OU logique
0 $ Argument 0, c'est-à-dire la commande utilisée pour exécuter le script
1 $ Premier argument (changez le numéro pour accéder à d'autres arguments)
-eq Contrôle d'égalité
-ne Contrôle des inégalités
-lt Moins de
-le Inférieur ou égal
-gt Supérieur à
-ge Supérieur ou égal

1. Utiliser if-else pour vérifier si deux nombres sont égaux

Lorsque vous essayez de comprendre le fonctionnement d'une fonction comme if-else dans un script shell, il est bon de commencer par des choses simples. Ici, nous initialisons deux variables a et b, puis utilisons la fonction if-else pour vérifier si les deux variables sont égales. Le script bash doit ressembler à ceci pour cette tâche.

#!/bin/bash
m=1
n=2

if [ $n -eq $m ]
then
        echo "Both variables are the same"
else
        echo "Both variables are different"
fi

Sortie :

Both variables are different

2. Utiliser if-else pour comparer deux valeurs

L'utilisation la plus courante de if-else dans les scripts shell consiste à comparer deux valeurs. La comparaison d'une variable avec une autre variable ou une aide à valeur fixe est utilisée dans une variété de cas par toutes sortes de programmeurs.

Pour cet exemple, nous allons initialiser deux variables et utiliser la fonction if-else pour trouver la variable qui est supérieure à l'autre.

#!/bin/bash
a=2
b=7
if [ $a -ge $b ]
then
  echo "The variable 'a' is greater than the variable 'b'."
else
  echo "The variable 'b' is greater than the variable 'a'."
fi

Sortie :

The variable 'b' is greater than the variable 'a'.

3. Utiliser if-else pour vérifier si un nombre est pair

Parfois, nous rencontrons des situations où nous devons traiter et différencier les nombres pairs et impairs. Cela peut être fait avec if-else dans les scripts shell si nous prenons l'aide de l'opérateur modulus.

L'opérateur de module divise un nombre par un diviseur et renvoie le reste.

Comme nous savons que tous les nombres pairs sont un multiple de 2, nous pouvons utiliser le script shell suivant pour vérifier pour nous si un nombre est pair ou impair.

#!/bin/bash
n=10
if [ $((n%2))==0 ]
then
  echo "The number is even."
else
  echo "The number is odd."
fi

Sortie :

The number is even

Comme vous pouvez le voir, nous avons inclus une partie de la condition entre doubles crochets. C'est parce que nous avons besoin que l'opération de module soit effectuée avant que la condition ne soit vérifiée.

En outre, le fait de mettre entre doubles crochets exécute des instructions de style C vous permettant de traiter certaines commandes de style C dans des scripts bash.

4. Utiliser if-else comme simple invite de mot de passe

La fonction if-else est connue pour sa polyvalence et sa gamme d'applications. Dans cet exemple, nous utiliserons if-else dans le script shell pour créer l'interface d'une invite de mot de passe.

Pour ce faire, nous allons demander à l'utilisateur d'entrer le mot de passe et de le stocker dans la variable pass.

S'il correspond au mot de passe prédéfini, qui est « mot de passe » dans cet exemple, l'utilisateur obtiendra la sortie sous la forme -« Le mot de passe est correct ».

Sinon, le script shell indiquera à l'utilisateur que le mot de passe était incorrect et lui demandera de réessayer.

#!/bin/bash
echo "Enter password"
read pass
if [ $pass="password" ]
then
  echo "The password is correct."
else
  echo "The password is incorrect, try again."
fi

Conclusion

La fonction if-else dans le script shell est un atout important pour les programmeurs shell. C'est le meilleur outil à utiliser lorsque vous devez exécuter un ensemble d'instructions basées sur des conditions prédéfinies.

Le bloc if-else est l'une, sinon la partie la plus essentielle de la programmation conditionnelle. En régulant l'exécution d'instructions spécifiques, vous rendez non seulement votre code plus efficace, mais vous libérez également le temps précieux que le processeur aurait pu perdre à exécuter des instructions inutiles pour un cas spécifique.

Nous espérons que ce tutoriel a pu vous aider à comprendre comment utiliser la fonction if-else. Si vous avez des questions, des commentaires ou des suggestions, n'hésitez pas à nous contacter dans les commentaires ci-dessous.


Linux
  1. Comment utiliser les entrées dans vos scripts shell

  2. Comment utiliser les booléens dans la coquille de poisson ?

  3. Comment tester la conformité Posix des scripts Shell ?

  4. Comment exécuter des scripts Python à partir du shell

  5. Comment faire écho à une nouvelle ligne dans les scripts shell bash

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment installer et utiliser ZSH Shell sous Linux

Comment utiliser les extensions GNOME Shell [Guide complet]

Comment installer et utiliser Nu Shell sous Linux

Comment lire les arguments de ligne de commande dans les scripts shell ?

Comment utiliser Linux Bash Shell dans Windows 10 ?