Comment maîtriser la logique conditionnelle dans Bash

Comment Maitriser La Logique Conditionnelle Dans Bash



L'utilisation de la logique conditionnelle est une partie essentielle de tout langage de programmation. La logique conditionnelle peut être implémentée dans Bash de différentes manières pour résoudre les problèmes de programmation. Les méthodes d'utilisation de la logique conditionnelle dans Bash à travers les différents types d'instructions « if » et « case » pour comparer la chaîne et les valeurs numériques, vérifier le contenu de la variable, vérifier l'existence du fichier ou du répertoire, etc. sont présentées dans ce tutoriel. .

Liste du contenu :

  1. Utilisation de l'instruction « Si »
  2. Utilisation de l'instruction « If-Else »
  3. Utilisation de l'instruction « If-Elif-Else »
  4. Utilisation de l'instruction « If » pour vérifier une variable vide
  5. Utilisation de l'instruction « If » avec l'opérateur logique
  6. Utilisation des instructions imbriquées « Si »
  7. Utilisation de l'instruction « If » pour vérifier l'existence du fichier
  8. Utilisation de l'instruction « If » pour vérifier l'existence du répertoire
  9. Utilisation de l'instruction « If » avec Regex
  10. Utilisation de l'instruction « Case »

Utilisation de l'instruction « Si »

Cet exemple montre l'utilisation simple de l'instruction « if » dans Bash. Six types d'opérateurs de comparaison peuvent être utilisés pour comparer les valeurs numériques dans Bash. Ce sont '-eq' (égal), '-ne' (différent), '-le' (inférieur à égal), '-ge' (supérieur à égal), '-lt' (inférieur à) et ' -gt » (supérieur à). Les utilisations de « -lt » et « -eq » sont affichées dans le script suivant, que le nombre soit inférieur à 99 ou qu'il n'ait pas été vérifié à l'aide de l'opérateur « -lt ». Le nombre est pair ou impair et est vérifié par l'opérateur « -eq ».







#!/bin/bash

#Attribuer une valeur numérique

( ( nombre = cinquante ) )

#Vérifiez la valeur numérique à l'aide de l'instruction 'if'

si [ $numéro -lt 99 ]

alors

écho 'Le numéro est valide.'

être

#Vérifiez si le nombre est pair ou non

si [ $ ( ( $numéro % 2 ) ) -eq 0 ]

alors

écho 'Le nombre est pair.'

être

Sortir :



Le résultat suivant apparaît après l'exécution du script précédent :



  p1





Aller en haut

Utilisation de l'instruction « If-Else »

L'utilisation de l'instruction « if-else » est illustrée dans le script suivant. Une valeur de chaîne est extraite de l'utilisateur et vérifie si la valeur est « BLEU » ou non à l'aide de l'instruction « if-else ».



#!/bin/bash

#Prendre une valeur de chaîne de l'utilisateur

lire -p 'Entrez votre couleur préférée :' couleur

#Vérifiez la valeur de la chaîne à l'aide de l'instruction 'if-else'

si [ ${couleur^^} == 'BLEU' ]

alors

écho 'Bien, la couleur bleue est disponible.'

autre

écho ' $couleur n'est pas disponible.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script précédent si « rouge » est pris comme entrée :

  p2-1

La sortie suivante apparaît après l'exécution du script précédent si « bleu » est pris en entrée :

  p2-2

Aller en haut

Utilisation de l'instruction « If-Elif-Else »

L'utilisation de l'instruction « if-elif-else » est illustrée dans le script suivant. Un nombre est extrait de l'utilisateur et vérifié avec les différentes valeurs jusqu'à ce qu'une correspondance soit trouvée. Si une correspondance est trouvée, le message correspondant est imprimé. Si aucune correspondance n'est trouvée, le message par défaut est imprimé.

#!/bin/bash

#Prendre la valeur d'identifiant de l'utilisateur

lire -p 'Entrez votre numéro de série:' en série

#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'

si [ $série == '4523' ]

alors

écho 'Vous êtes sélectionné dans le groupe A.'

Elif [ $série == '8723' ]

alors

écho 'Vous êtes sélectionné dans le groupe B.'

Elif [ $série == '3412' ]

alors

écho 'Vous êtes sélectionné dans le groupe C.'

autre

écho 'Vous n'êtes pas sélectionné' .

être

Sortir:

La sortie suivante apparaît après l'exécution du script avec la valeur 8723 :

  p3-1

La sortie suivante apparaît après l'exécution du script avec la valeur 9078 :

  p3-2

Aller en haut

Utilisation de l'instruction « If » pour vérifier une variable vide

La méthode permettant de vérifier si une variable est vide sans utiliser d'instruction « if » est présentée dans le script suivant. L'option « -z » est utilisée dans l'instruction « if » pour effectuer cette tâche.

#!/bin/bash

#Prendre la valeur d'identifiant de l'utilisateur

lire -p 'Entrez votre numéro de série:' en série

#Vérifiez si la variable est vide ou non

si [ ! -Avec $série ]

alors

#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'

si [ $série == '690' ]

alors

écho 'Vous êtes sélectionné dans l'équipe-1.'

Elif [ $série == '450' ]

alors

écho 'Vous êtes sélectionné dans l'équipe-2.'

autre

écho 'Vous n'êtes pas sélectionné' .

être

autre

écho 'Aucun numéro de série n'est donné.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script avec la valeur 690 :

  p4-1

La sortie suivante apparaît après l'exécution du script si aucune valeur d'entrée n'est prise :

  p4-2

Aller en haut

Utilisation de l'instruction « If » avec des opérateurs logiques

Trois types d'opérateurs logiques peuvent être utilisés dans l'instruction conditionnelle Bash. Il s'agit du OU logique (||), du ET logique (&&) et du NON logique (!). Une valeur de code est extraite de l'utilisateur. Si la valeur d'entrée n'est pas vide, la valeur est vérifiée avec deux valeurs de code à l'aide d'un OU logique. Si la valeur correspond à un code, le message correspondant est imprimé. Si aucun code correspondant n'est trouvé, le message par défaut est imprimé.

#!/bin/bash

#Prendre le code du cours à l'utilisateur

lire -p 'Entrez le code du cours :' code

#Vérifiez si la variable est vide ou non

si [ ! -Avec $code ]

alors

#Vérifiez la valeur d'entrée à l'aide de l'instruction 'if-elif-else'

si [ [ $code == 'CSE-106' || $code == 'CSE-108' ] ]

alors

écho 'Cours CSE.'

Elif [ [ $code == 'BBA-203' || $code == 'BBA-202' ] ]

alors

écho 'Cours BBA.'

autre

écho 'Code de cours invalide.'

être

autre

écho 'Aucun code de cours n'est donné.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script avec la valeur d'entrée « CSE-108 » :

  p5-1

La sortie suivante apparaît après l'exécution du script avec la valeur d'entrée « BBA-56 » :

  p5-2

Aller en haut

Utilisation des instructions imbriquées « Si »

Lorsqu’une condition « if » est utilisée dans une autre condition « if », on parle d’instruction « if » imbriquée. La méthode d'utilisation du « if » imbriqué est illustrée dans le script suivant. Deux valeurs de marque sont extraites de l'utilisateur. Si les valeurs d'entrée ne sont pas vides, la première condition « si » vérifie si la valeur de « $theory » est supérieure ou égale à 60 ou non. Si la première condition « si » renvoie « vrai », la deuxième condition « si » vérifie si la valeur du « $lab » est supérieure ou égale à 50 ou non. Si la deuxième condition « si » renvoie également « vrai », un message de réussite est imprimé. Sinon, un message d'échec est imprimé.

#!/bin/bash

#Prenez la note de la théorie

lire -p 'Entrez la note théorique :' théorie

#Prenez la marque du labo

lire -p 'Entrez la marque du laboratoire :' laboratoire

#Vérifiez si les variables sont vides ou non

si [ [ ! -Avec $théorie && ! -Avec $laboratoire ] ]

alors

#Vérifiez les valeurs d'entrée à l'aide d'une instruction 'if' imbriquée

si [ $théorie -ge 60 ]

alors

si [ $laboratoire -ge cinquante ]

alors

écho 'Vous avez réussi.'

autre

écho 'Tu as échoué.'

être

autre

écho 'Tu as échoué.'

être

autre

écho 'La note de théorie ou de laboratoire est vide.'

être

Sortir :

La sortie suivante apparaît si les deux valeurs d'entrée ou l'une des valeurs d'entrée sont vides :

  p6-1

Le résultat suivant apparaît si 78 est considéré comme des notes théoriques et 45 comme des notes de laboratoire. Ici, la deuxième condition « si » renvoie « faux » :

  p6-2

Le résultat suivant apparaît si 67 est considéré comme des notes théoriques et 56 comme des notes de laboratoire. Ici, les deux conditions « si » renvoient « vrai » :

  p6-3

Le résultat suivant apparaît si 50 est considéré comme des notes théoriques et 80 comme des notes de laboratoire. Ici, la première condition « si » renvoie « faux » :

  p6-4

Aller en haut

Utilisation de l'instruction « If » pour vérifier l'existence du fichier

L'existence du fichier peut être vérifiée par le script bash de deux manières. La première utilise l'opérateur « -f » avec des crochets « [] ». Une autre consiste à utiliser la commande « test » et l’opérateur « -f ». Un nom de fichier est pris et vérifie l'existence du fichier en utilisant la condition « if » avec l'opérateur « -f ». Ensuite, un autre nom de fichier est pris et vérifie l'existence du fichier en utilisant l'instruction « if » avec la commande « test » et l'opérateur « -f ».

#!/bin/bash

#Prenez le nom du fichier

lire -p 'Entrez un nom de fichier :' fn1

#Vérifiez si le fichier existe ou non sans utiliser `test`

si [ -F $fn1 ]

alors

écho ' $fn1 le fichier existe.'

autre

écho ' $fn1 fichier ne existe pas.'

être

#Ajouter une nouvelle ligne

écho

#Prendre un autre nom de fichier

lire -p 'Entrez un autre nom de fichier :' fn2

#Vérifiez si le fichier existe ou non en utilisant `test`

si test -F $fn2 ; alors

écho ' $fn2 le fichier existe.'

#Vérifiez si le fichier est vide ou non en utilisant `test`

si test -Avec $fn2 ; alors

écho ' $fn2 le fichier est vide.'

autre

écho ' $fn2 le fichier n'est pas vide.'

être

autre

écho ' $fn2 fichier ne existe pas.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script en prenant « test.txt » et « testing.txt » comme noms de fichiers. D'après le résultat, les deux fichiers existent à l'emplacement actuel et le fichier « testing.txt » est vide :

  p7-1

La sortie suivante apparaît après l'exécution du script en prenant « f1.txt » et « test.txt » comme noms de fichiers. D'après le résultat, le fichier « f1.txt » n'existe pas à l'emplacement actuel et le fichier « test.txt » n'est pas vide :

  p7-2

Aller en haut

Utilisation de l'instruction « If » pour vérifier l'existence du répertoire

L'existence du répertoire peut être vérifiée par le script Bash de deux manières comme le fichier. La première utilise l'opérateur « -d » avec des crochets « [] ». Une autre consiste à utiliser la commande « test » et l’opérateur « -d ». Un nom de répertoire est pris et vérifie l'existence du répertoire en utilisant la condition « if » avec l'opérateur « -d ». Ensuite, un autre nom de répertoire est pris et vérifie l'existence du fichier à l'aide de l'instruction « if » avec la commande « test » et l'opérateur « -d ».

#!/bin/bash

#Prendre un nom de répertoire

lire -p 'Entrez un nom de répertoire :' tu1

#Vérifiez si le répertoire existe ou non sans utiliser `test`

si [ -d $rép1 ]

alors

écho ' $rép1 le répertoire existe.'

autre

écho ' $rép1 le répertoire n'existe pas.'

être

#Ajouter une nouvelle ligne

écho

#Prendre un autre nom de répertoire

lire -p 'Entrez un autre nom de répertoire :' rép2

#Vérifiez si le fichier existe ou non en utilisant `test`

si test -d $rép2

alors

écho ' $rép2 le répertoire existe.'

autre

écho ' $rép2 le répertoire n'existe pas.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script avec les noms de répertoire « temp » et « files ». Selon le résultat, les deux répertoires existent à l'emplacement actuel. Ensuite, la commande « ls » est exécutée pour vérifier le contenu des répertoires :

  p8-1

La sortie suivante apparaît après l'exécution du script avec les noms de répertoire « testing » et « new ». Selon le résultat, les deux répertoires n'existent pas à l'emplacement actuel. Ensuite, le résultat de la commande « ls » montre que les deux répertoires n'existent pas :

  p8-2

Aller en haut

Utilisation de l'instruction « If » avec Regex

Le script suivant montre la méthode de validation des données d'entrée à l'aide d'une instruction « if » avec l'expression régulière. Ici, deux valeurs d'entrée sont extraites de l'utilisateur et sont stockées dans les variables « $bookname » et « $bookprice ». La condition « if » est utilisée dans le script pour vérifier que la variable « $bookname » contient tous les caractères alphabétiques et que « $bookprice » contient un nombre.

#!/bin/bash

#Prenez le nom et le prix du livre auprès de l'utilisateur

écho -n 'Entrez le nom du livre :'

lire nom du livre

écho -n 'Entrez le prix du livre :'

lire prix du livre

#Vérifiez que le nom du livre contient uniquement l'alphabet

si ! [ [ ' $nom du livre ' =~ [ A-Za-z ] ] ] ; alors

écho 'Le nom du livre n'est pas valide.'

autre

écho 'Le nom du livre est valide.'

être

#Vérifiez que le prix du livre ne contient que des chiffres

si ! [ [ ' $prix du livre ' =~ [ 0 - 9 ] ] ] ; alors

écho 'Le prix du livre ne peut contenir que des chiffres.'

autre

écho 'Le prix du livre est valable.'

être

Sortir :

La sortie suivante apparaît après l'exécution du script avec les valeurs d'entrée de « Programmation Bash » comme nom du livre et 78 comme prix du livre :

  p9-1

La sortie suivante apparaît après l'exécution du script avec les valeurs d'entrée de 90 comme nom du livre et « Bash » comme prix du livre :

  p9-2

Aller en haut

Utilisation de l'instruction « Case »

L'instruction « case » est l'alternative de l'instruction « if-elif-else », mais toutes les tâches de l'instruction « if-elif-else » ne peuvent pas être effectuées à l'aide de l'instruction « case ». L'utilisation simple de l'instruction « case » est illustrée dans le script suivant. Une valeur numérique est extraite de l'utilisateur comme valeur du mois en cours. Ensuite, le mois correspondant est imprimé si une valeur correspondante est trouvée dans l'instruction « case ». Sinon, le message par défaut est imprimé.

#!/bin/bash

#Prendre la valeur du mois en cours en nombre

lire -p 'Entrez le mois d'aujourd'hui en chiffre :' b_mois

#Imprimez le texte avant d'imprimer le nom du mois

écho -n 'Le nom du mois en cours est '

#Découvrez et imprimez le nom du mois correspondant en fonction de la saisie

cas $b_mois dans

1 | 01 ) écho 'Janvier.' ;;

2 | 02 ) écho 'Février.' ;;

3 | 03 ) écho 'Mars.' ;;

4 | 04 ) écho 'Avril.' ;;

5 | 05 ) écho 'Peut.' ;;

6 | 06 ) écho 'Juin.' ;;

7 | 07 ) écho 'Juillet.' ;;

8 | 08 ) écho 'Août.' ;;

9 | 09 ) écho 'Septembre.' ;;

dix ) écho 'Octobre.' ;;

onze ) écho 'Novembre.' ;;

12 ) écho 'Décembre.' ;;

* ) écho 'pas trouvé.' ;;

esac

Sortir :

La sortie suivante apparaît après l'exécution du script avec la valeur 6 :

  p10-1

La sortie suivante apparaît après l'exécution du script avec la valeur 09 :


  p10-2

La sortie suivante apparaît après l'exécution du script avec la valeur 14 :

  p10-3

Aller en haut

Conclusion

Différentes utilisations de la logique conditionnelle utilisant les instructions « if » et « case » sont présentées dans les 10 exemples de ce tutoriel. Le concept d'utilisation de la logique conditionnelle dans Bash sera expliqué aux nouveaux utilisateurs de Bash après avoir lu ce didacticiel.